【发布时间】:2012-08-02 16:14:32
【问题描述】:
作为一项规则,我会尽量避免抛出异常实例,因为这并不能传达太多关于问题所在的信息。
但我发现我得到了相当多的空异常类,它们看起来像这样......
class DataNotFoundException extends Exception {
// just a tagging class
}
所以在功能上该类与 Exception 相同。唯一的功能意义是我现在可以做到这一点......
try {
... some code which throws exceptions ...
} catch (DataNotFoundException $dnfe) {
... do stuff ...
} catch (OtherException $oe) {
... do other stuff ...
}
我的问题是,拥有大量微小的异常类和只抛出异常实例之间的平衡点在哪里。有人对何时引入新的异常类有任何指导吗?
【问题讨论】:
-
如果您确切知道抛出了哪种异常,您可以控制它输出的错误消息、覆盖现有功能并定义附加功能。