我最近阅读了Perl.com文章中的"Perl中面向对象的异常处理".在Perl中使用异常是否有意义?
我应该注意你引用的文章是旧的,你现在应该使用Exception :: Class而不是Error.pm,这是古怪的并且往往会破坏(这就是我称之为"黑魔法").我应该注意到我现在是Error.pm维护者,但我不再推荐它或者将它用于我自己的代码.
"在Perl中使用异常是否有意义?"
是的,我强烈建议你阅读中的"错误处理"一章Perl的最佳实践的达米安·康威.
它当然打开了我的眼睛;-)
绝对.如果你抛出一个简单的"骰子",你真的没有任何计算机可以处理的信息.例如,我有一个使用Test :: Most的测试框架,该模块可以让您在测试失败时死亡.但是,我的框架需要知道我是否因为测试失败或代码死亡而死亡.因此,我抛出了一个Test :: Most :: Exception,我的框架可以检查异常类型并采取适当的操作.
例外是你的朋友:)