如何使用过程语言处理异常?

som*_*guy 3 perl exception-handling

如何使用C或Perl等过程语言进行异常处理?(我知道Perl也做OO.)在Perl中处理程序代码中的异常的最佳方法是什么?

zou*_*oul 7

在Perl 5中,使用eval和完成异常处理die.您只需评估代码体,如果它死了,您可以检查$@错误.如果你想要正确地做到这一点并不是那么容易,这就是各种try/catch模块存在的原因.您可能对Try :: Tiny感兴趣,它没有依赖关系,并描述了使用naive eval异常处理时必须处理的所有问题.(另请参阅Try :: Tiny的作者撰写的这篇博客文章.)

  • @DVK,你在谈论字符串eval还是块eval?字符串eval的问题是众所周知的,但使用eval的异常处理通常使用块eval.如果您说块eval存在性能问题,您是否可以提供问题的来源或演示? (4认同)