我可以访问ruby的异常层次结构(它在pickaxe和蜂鸟中都有提到),但我不确定使用哪个例外,因为我没有找到任何关于每个术语含义的信息.
使用正确的异常类是否重要?
在创建自己的异常时很重要.一个重要的警告是,从Exception继承而不是StandardError(常见错误)的异常将不会被救援(没有任何参数)捕获.
"这取决于".
Ruby的一个主要问题是缺乏良好的规范.但过去常常会更糟.
这主要是一个样式问题:如果你的错误可以用其中一个内置异常类很好地描述,那就使用它.如果您认为子类有意义,请使用它.
否则,您可以考虑从C++编码标准中遵循此主题:
创建非常精细的异常层次结构是浪费时间.没有人关心,所有的努力都浪费了.相反,每个库或命名空间创建一个异常,并在该异常中有一个异常原因来指示异常的类型.
例如,对于您的操作系统封装库,请创建一个名为OsencapException的异常.