异常

本文详细介绍了Java中的异常处理机制,包括异常的分类如运行时异常和非运行时异常,以及如何声明自定义异常等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.异常

异常

所有异常都来自Throwable,
Error(错误)是程序无法处理的错误(修改代码无法处理),一般来自JVM的问题,发生于虚拟机自身或者虚拟机试图执行应用的时候,
比如内存溢出、虚拟机运行错误、类定义错误;
这些错误不可查,运行时才会发现;

Exception(异常)是可以通过修改代码处理的异常。
RuntimeException和其子类,表示“JVM常用操作错误”,比如空指针,下标越界、除0;

2.异常分类

不可查异常:RuntimeException和其子类、Error
可查异常:RuntimeException和其子类以外的异常都是可查异常(编译器会报错,需用try、catch、throws)

运行时异常:NullpointException(空指针异常),ClassCastException(类型转换异常),IndexOutOfBoundsException(数组越界异常)ArrayIndexOutOfBoundsException
非运行时异常(编译异常):比如IOException、SQLExcepiton

1、检查性异常: 不处理编译不能通过
2、非检查性异常:不处理编译可以通过,如果有抛出直接抛到控制台
3、运行时异常: 就是非检查性异常
4、非运行时异常: 就是检查性异常

3.声明自定义异常

所有异常都必须是 Throwable 的子类。
如果希望写一个检查性异常类,则需要继承 Exception 类。
如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值