一、基础篇--1.1Java基础-Exception、Error、RuntimeException与一般异常有何异同

Java异常体系详解
本文深入解析Java中的异常处理机制,详细阐述了Throwable、Error、Exception与RuntimeException之间的关系,以及常见RuntimeException的具体类型,如NullPointerException和IndexOutOfBoundsException等。

一、基础篇--1.1Java基础-Exception、Error、RuntimeException与一般异常有何异同

Throwable、Error、Exception、RuntimeException 关系如下类图所示:

Throwable:

Throwable类是java语言中所有错误或者异常的超类。它的两个子类是Error和Exception。

Error:

Error是Throwable的子类,用于指示合理的应用程序不应该试图捕获的严重问题。

一般都是不可控制的(unchecked),用来表示虚拟机内部错误或者底层资源的错误。

Exception:

可以是被控制的(checked)或者不可控制的(unchecked),一般是有认为导致的错误,应该在程序级别处理掉。

Exception类和所有子类(不包括RuntimeException类及其子类)都是检查异常(checked exceptions),它们需要在方法或构造方法的throws子句中声明,可以传递到外部。

RuntimeException:

RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需在 throws子句中进行声明。RuntimeException是Exception的子类,是不可控制的(unchecked)。

常见的几种RuntimeException:

NullPointerException(空指针异常) 

IndexOutOfBoundsException(下标越界异常) 

IllegalArgumentException - 传递非法参数异常。

ClassCastException - 类型强制转换异常。

NumberFormatException (String转换为指定的数字类型异常) 

 ArithmeticException -(算术运算异常 如除数为0) 

 ArrayStoreException - (向数组中存放与声明类型不兼容对象异常) 

SecurityException -(安全异常)

UnsupportedOperationException - 不支持的操作异常
 

posted @ 2018-11-02 16:29 ForeverYoungCoder 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值