我对Java还比较新,但我认为异常类型应该反映出出了什么问题,而不是谁的代码抛出了异常。例如,IllegalArgumentException表示某人向某个东西传递了非法参数。如果Sun编写的代码中传递了非法参数,你不会看到SunIllegalArgumentException,然后是IBMIllegalArgumentException——那样是愚蠢和毫无意义的,对吧?而如果你想知道异常是在哪里抛出的,你可以查看堆栈跟踪。我理解想要扩展RuntimeException(以便您不需要在所有地方都使用try/catch或“throws”),但为什么不创建说明发生了什么事情的子类,而不是说明它发生在哪家公司的代码中?
有人以前使用过 OurCompanyRuntimeException 的想法吗?或者有人知道他们为什么要这样做吗?