【发布时间】:2009-03-30 22:52:55
【问题描述】:
我可以访问 ruby 的异常层次结构(在镐和蜂鸟中都提到过),但我不确定使用哪个异常,因为我没有找到任何关于每个术语含义的信息。
使用正确的异常类重要吗?
【问题讨论】:
我可以访问 ruby 的异常层次结构(在镐和蜂鸟中都提到过),但我不确定使用哪个异常,因为我没有找到任何关于每个术语含义的信息。
使用正确的异常类重要吗?
【问题讨论】:
创建自己的异常时很重要。一个重要的警告是,从 Exception 而不是 StandardError (常见错误)继承的异常将不会被救援(没有任何参数)捕获。
【讨论】:
“视情况而定”。
Ruby 的主要问题之一是缺乏良好的规范。不过,以前情况更糟。
这主要是风格问题:如果您的错误可以使用内置异常类之一很好地描述,请使用它。如果您认为子类有意义,请使用它。
否则,您可以考虑关注this lead from a C++ coding standard:
创建非常复杂的异常 等级制度是浪费时间。没有人 关怀的结束,所有的努力都过去了 浪费。相反,创建一个 每个库或命名空间的异常和 有例外的原因 指明类型的异常 例外。
例如,对于您的操作系统封装 图书馆,做一个例外称为 OsencapException。
【讨论】:
没有。
或者更确切地说,如果它对你无关紧要,通常对其他人也无关紧要。如果你正在编写一个库,你应该使用你的库的用户会理解的东西,但仅此而已。
【讨论】: