异常处理—checked exception 和 unchecked exception

异常的Root Class是Throwable,Throwable派生了Error和Exception。

Java 8 API Doc中对checked exception和unchecked exception 的说明:

1. checked exception:(在Exception类中的说明)

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

2. unchecked exception:

(在Error类中说明)

 Error and its subclasses are regarded as unchecked exceptions for the purposes of compile-time checking of exceptions

(在RuntimeException类中的说明)

RuntimeException and its subclasses are unchecked exceptions. 

3. checked exception:编译器要求对其进行显示的捕获或抛出,例如,IOException,SQLException;

unchecked exception:一般发生在运行期,编译器不要求对其进行显示的捕获或抛出,例如NullPointerException,ClassCastException;

RuntimeException and its subclasses are unchecked exceptions.

原文地址:https://www.cnblogs.com/jayinnn/p/10986633.html

时间: 2024-10-11 13:45:57

异常处理—checked exception 和 unchecked exception的相关文章

Java中的checked exception和unchecked exception

Java中的checked exception和unchecked exception Java中有两种异常:checked exception和unchecked exception. checked exception checked exception是这样定义: A checked exception is an exception that must be either caught or declared in a method where it can be thrown. 也就是

【转】Java异常:选择Checked Exception还是Unchecked Exception?

Java包含两种异常:checked异常和unchecked异常.C#只有unchecked异常.checked和unchecked异常之间的区别是: Checked异常必须被显式地捕获或者传递,如Basic try-catch-finally Exception Handling一文中所说.而unchecked异常则可以不必捕获或抛出. Checked异常继承java.lang.Exception类.Unchecked异常继承自java.lang.RuntimeException类. 有许多支

checked exception和unchecked exception区别

http://blog.csdn.net/yuefengyuan/article/details/6204317 一. Java 中定义了两类异常: 1) Checked exception: 这类异常都是Exception的子类 .异常的向上抛出机制进行处理,如果子类可能产生A异常,那么在父类中也必须throws A异常.可能导致的问题:代码效率低,耦合度过高.C#中就没有使用这种异常机制. 2) Unchecked exception: 这类异常都是RuntimeException的子类,虽

java中的Checked Exception和Unchecked Exception的区别

Java 定义了两种异常: - Checked exception: 继承自 Exception 类是 checked exception.代码需要处理 API 抛出的 checked exception,要么用 catch 语句,要么直接用 throws 语句抛出去. - Unchecked exception: 也称 RuntimeException,它也是继承自 Exception.但所有 RuntimeException 的子类都有个特点,就是代码不需要处理它们的异常也能通过编译,所以它

ckecked Exception和Unchecked Exception异常

Throwable 是所有 Java 程序中错误处理的父类 Error JVM Exception 程序 Checked Exception:继承java.lang.Exception 代表程序不能控制的无效外界情况.除了Error以及RuntimeException(运行时异常)及其子类,如:ClassNotFoundException, NamingException, ServletException, SQLException, IOException等.JAVA 编译器强制要求try

Checked Exception & Unchecked Exception

查Spring事务管理时看到一句话: Spring使用声明式事务处理,默认情况下,如果被注解的数据库操作方法中发生了unchecked异常,所有的数据库操作将rollback:如果发生的异常是checked异常,默认情况下数据库操作还是会提交的. 那么,什么是Checked Exception & Unchecked Exception ? Unchecked Exception: a. 指的是程序的瑕疵或逻辑错误,并且在运行时无法恢复. b. 包括Error与RuntimeException及

自定义异常时如何定义checked异常和unchecked异常

When defining your own exception type, study the existing exception classes in the Java API and try to extend a related exception class. For example, if you’re creating a new class to represent when a method attempts a division by zero, you might ext

java异常—检查异常(checked exception)和未检查异常(unchecked exception)

网易面试要我画异常的结构图,什么是检查异常,什么是非检查异常,我当时的表情是这样的,.我看过,忘了.没办法,继续看,写博客掌握. 先来看看异常的结构图,建议你结合JDK一起看. 可以看出异常的家族势力庞大,通常我们说的异常是包括exceptio和error. Exception家族我们恐怕见的不少,但是error家族我们可能就没什么印象了,下面我来说说这两个类的区别: Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题.大多数的错误与代码编写者执行的操作无关,而是表示代码运行

[转]Unchecked Exception 和 Checked Exception 比较

Throwable类是所有异常的始祖,它有两个直接子类Error / Exception:   Error仅在Java虚拟机中发生动态连接失败或其它的定位失败的时候抛出一个Error对象.一般程序不用捕捉或抛出Error对象. Unchecked Exception: a. 指的是程序的瑕疵或逻辑错误,并且在运行时无法恢复. b. 包括Error与RuntimeException及其子类,如:OutOfMemoryError, UndeclaredThrowableException, Ille