如何在Java中创建已检查/未检查的自定义异常?

noo*_*oob 22 java

当我创建自己的异常时,是否可以将它们标记为已选中/未选中?(使用一些注释,也许?)或者,是扩展Exception/RuntimeException的唯一方法吗?

谢谢.

Gar*_*ryF 31

执行此操作的唯一方法是为已检查的异常扩展Exception(或其子类),并为未经检查的异常扩展RuntimeException(或其子类).

考虑到这样做的轻量级,以及从扩展这些课程中获得的好处,我认为这不太繁琐.


小智 9

检查异常

通过扩展Exception,您可以创建一个已检查的异常:

class NotEnoughBalance extends Exception {
     // Implementation
}
Run Code Online (Sandbox Code Playgroud)

未经检查的异常

通过扩展RuntimeException,您可以创建未经检查的异常:

class NotEnoughBalance extends RuntimeException {
     // Implementation
}
Run Code Online (Sandbox Code Playgroud)

  • 这是不正确的.您不需要扩展`IOException`来创建已检查的异常.Java中的_Every_异常是一个经过检查的异常_unless_它扩展了`RuntimeException`. (10认同)