Java异常

1. 什么是异常?

在程序运行过程中出现的错误,称为异常。
异常就是程序运行过程中出现了不正常现象导致程序的中断。

2. 异常分类

Object
Throwable
Exceptions
Errors
Check Exceptions
Uncheck Exceptions

错误:

Errors
StackOverFlowError栈溢出
VirtualMachineError虚拟机异常
OutOfMemoryError内存溢出

运行时异常:

Check Exceptions
IOException输入输出异常
SQLException数据库异常
ClassNotFoundException类不存在异常

编译时异常:

Uncheck Exceptions
ArithmeticException算数异常
NullPointerException空指针异常
IndexOutOfBoundsException下标越界异常
ClassCastException类型转换异常
ArrayIndexOutOfBoundsExcpetion数组下标越界异常
StringIndexOutOfBoundsExcpetion字符串下标越界异常
  1. 算数异常:例如除数为0,数值越界
  2. 空指针异常:例如,字符串不存在,例如字符串赋值为null但是去获取字符串长度
  3. 下标越界异常:例如,大于数组或字符的大小进行值获取
  4. 类型转换异常:例如:类型转换错误

3. 异常处理

  1. 系统异常(运行时异常)不需要预处理,通过规范的代码可以避免产生这种异常。
  2. 受检异常(编译时异常)必须预处理,否则编译报错,有两种预处理方式 : 捕获处理、抛出处理

3.1 try、catch

try{
}catch(OneException e){
}catch(TwoException e){
}
  • try中写有可能产生异常的代码
  • try后面是catch,catch可以有一个或多个,catch中是需要捕获的异常
  • 当try中的代码出现异常时,出现异常下面的代码不会执行,马上会跳转到相应的catch语句块中,如果没有异常不会跳转到catch中
  • catch在多个书写时从上到下从小到大
  • try无法单独使用

3.2 finally

  • finally必须和try一起使用,无法单独使用。
  • finally每次都在最后执行,不管try有没有捕获finally都执行。
  • 当catch有return执行时,先执行finally内的代码,然后再执行return。
  • 如果finally中有return则直接返回。
3.2.1 finally的失效
 System.exit(0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值