在我现在所在的公司,代码中有很多地方会抛出OurCompanyRuntimeException(其中OurCompany是公司的实际名称).据我所知,这个异常被描述为"我们在这家公司写的代码抛出的运行时异常".
我有点新的爪哇,但我认为异常类型被认为反映了什么地方出了错,而不是其代码抛出异常.例如,IllegalArgumentException意味着有人将非法参数传递给了某些东西.如果在Sun编写的代码中传递了非法参数,那么就不会有SunIllegalArgumentException,然后是IBMIllegalArgumentException - 这将是愚蠢而毫无意义的,对吧?如果您想知道抛出异常的位置,可以查看堆栈跟踪.我理解想要扩展RuntimeException(这样你就没有尽可能多的尝试/捕获或"抛出"),但为什么不创建解释发生了什么的子类,而不是发生在公司的代码中呢?
有没有人曾经使用过OurCompanyRuntimeException这个想法,或者想知道他们为什么会这样做?