编译器如何识别存在已检查的异常

时间:2012-05-14 05:51:44

标签: java

在Java中,编译器如何识别存在已检查的异常?我的意思是如何识别它?

2 个答案:

答案 0 :(得分:5)

直接来自文档:

  

Java编程语言的编译器在编译时检查   通过分析,程序包含已检查异常的处理程序   检查异常可以由执行方法或   构造函数。对于每个检查的异常,这是可能的结果,   方法(§8.4.6)或构造函数(§8.8.5)的throws子句必须   提到该异常的类或其中一个超类   那个例外的类。这种编译时检查存在   异常处理程序旨在减少异常的数量   没有妥善处理。

     

未经检查的异常类是RuntimeException类   它的子类,以及类Error和它的子类。所有其他   异常类是检查异常类。 Java API定义   许多异常类,包括已选中和未选中的类。额外   可以声明异常类,包括已检查和未选中的异常类   程序员。有关异常类的说明,请参见第11.5节   层次结构和Java API定义的一些异常类   和Java虚拟机。

所以基本上它会查看代码,如果遇到异常,则查找异常的继承层次结构以确定它是否被选中或未选中。

Read

答案 1 :(得分:1)

所有已检查的异常都有一个基类Exception,而未经检查的异常会延伸RuntimeExceptionError