Java的已检查和未检查异常

4
  1. 如果我创建了一个继承于Exception的异常类,那么我的类是已检查异常还是未检查异常? 我注意到继承于Exception的子类RuntimeException是未检查异常,而其他所有Exception的子类都是已检查异常。

  2. 如果我创建了一个继承于RuntimeException的异常类,我可以指定该类为已检查异常吗?


1
由https://docs.oracle.com/javase/tutorial/essential/exceptions/catchOrDeclare.html回答。 - Dawood ibn Kareem
4个回答

3

1) 已检查

2) 否

如果你扩展Exception -> 已检查

如果你扩展RuntimeException -> 未检查

来自文档:

类{@code Exception}和任何不是{@link RuntimeException}子类的子类都是已检查异常。

enter image description here


1
除非异常继承自RuntimeException或Error,否则异常将被检查。

1
如果你的类扩展自Exception,它可以抛出已检查异常。
如果你的类扩展自Error或RuntimeException,它可以抛出未检查异常。

enter image description here


0
如果你创建一个继承异常类的类,它将会被检查。你不能将RuntimeException指定为已检查的异常,因为它是未检查的异常。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接