Java 异常处理:如果没有合适的类,即使我只需要基本功能,也要编写自己的类?

Java 异常处理:如果没有合适的类,即使我只需要基本功能,也要编写自己的类?,java,exception,Java,Exception,我总是被告知重用Java中提供的异常,特别是当我不需要向异常类添加任何新功能时 在我的例子中,我有一些检查类来检查系统的运行状况,如果某些东西不工作,我需要抛出一个异常。我只需要设置任何异常类提供的错误消息。事实上,我真的找不到一个适合这个目的的类 你建议我做什么 是否使用基类异常? 写我自己的课?如果没有其他合适的,你应该写你自己的课 Exception的子类只是在catch子句中进行过滤,它们没有其他用途(把它们想象成开关/案例)。因此,如果您当前拥有的筛选器不足,只需编写一个新的筛选器。我

我总是被告知重用Java中提供的异常,特别是当我不需要向异常类添加任何新功能时

在我的例子中,我有一些检查类来检查系统的运行状况,如果某些东西不工作,我需要抛出一个异常。我只需要设置任何异常类提供的错误消息。事实上,我真的找不到一个适合这个目的的类

你建议我做什么

是否使用基类异常?
写我自己的课?

如果没有其他合适的,你应该写你自己的课


Exception的子类只是在catch子句中进行过滤,它们没有其他用途(把它们想象成开关/案例)。因此,如果您当前拥有的筛选器不足,只需编写一个新的筛选器。

我经常重写Exception类,目的是让全局异常处理程序以不同于其他异常的方式处理它,例如
实例。我想,它的可读性也比查看异常内部的情况要好得多。

我会使用
RuntimeException
。它不是未检查的异常,Marko,因为它不是编程错误。如果系统上的某些内容不符合预期,则程序需要生成异常,因此这是一个已检查的异常。这是否是编程错误并不重要,而是您在程序中实际如何处理它。如果你在靠近你扔它的地方捕捉到它,那么你可以在一个选中的异常中生活;否则,它只会产生诸如接口不匹配、抽象泄漏等问题。无论如何,您都必须查看内部,因为堆栈跟踪才是真正重要的。