Java,特定于类的异常与标准异常
我一直在更新现有库以引发异常,以帮助改进使用该库的人员的调试。
起初,我以为我会定义特定于每个类的异常,但是事实证明,大多数这些异常只是具有特定消息的现有运行时异常(例如,,)的扩展。FooNegativeIntArgumentException extends IllegalArgumentException
FooNullBarException extends NullPointerException
定义新异常与使用现有异常的权衡是什么?是否有任何约定/最佳实践?
此外,考虑到向后兼容性的需要,这些异常中的大多数(如果不是全部)都是运行时异常。