Java中的Exception

Java中的Exceptions主要分:checked exception 和 unchecked exception。我们会分别介绍这两类异常及其使用方法。

Checked Exceptions

Exception给出的定义,我们可以看到:checked exceptions继承于java.lang.Exception。

The class Exception and any subclasses that are not also subclasses of RuntimeException are checked exceptions

checked exceptions必须用try catch显式地捕获或者throws声明抛出异常。

常见的Checked Exceptions有IOExceptionSQLExceptionClassNotFoundException。还有些常用的exception是继承于IOException的,比如FileNotFoundExceptionMalformedURLException等等。

有时候在使用引用的时候,但是如果调用的方法抛出了checked exception,我们会发现在调用的时候报错,unhandled exception.

Unchecked Exceptions

同样地,我们也可以从RuntimeException看到unchecked exceptions的介绍,unchecked Exceptions继承于java.lang.RuntimeException。

RuntimeException and its subclasses are unchecked exceptions.

unchecked exceptions不必捕获异常或者抛出。

经常使用的unchecked exceptions有IllegalArgumentExceptionNullPointerExceptionIndexOutOfBoundsException

选择Checked Exceptions 还是 Unchecked Exceptions

对于checked excpetions,编译器会显式地提醒,这样我们就不会忘记处理异常。

有时候出现异常,我们会习惯写log,但是对于RuntimeException可以不写在log里面。

上一篇:CVE-2021-44228:Apache Log4j RCE


下一篇:如何检查您的服务器是否容易受到 log4j Java 漏洞利用 (Log4Shell) 的影响