Java异常

1.五个异常关键词
(1)try {} 可能出现异常的代码块
(2)catch {} 捕捉异常
(3)finally {} 不管是否发生异常都会执行的代码块
(4)throws 声明异常 方法参数后面 可以多个 ,用逗号隔开
private static void A() throws ZhuangcheException
(5)throw 抛出异常 在方法体里面
throw new Exception();
2.常见异常
(1)java.util.InputMismatchException - 输入类型不匹配异常
(2)java.lang.ArithmeticException - 算术异常
(3)java.lang.ArrayIndexOutOfBoundsException - 数组下标越界异常
(4)java.lang.NullPointerException - 空指针异常
(5)java.lang.ClassCastException - 类型转换异常
3.try - catch
语法:
代码块A;
try{
代码块B;
}catch(异常类型 异常名){
代码块C;
}
代码块D;
①代码块B 正常/没有问题的异常
A->B->D
②代码块B 有异常且匹配捕捉异常
A->B->C->D
③代码块B 有异常且不匹配捕捉异常
A->B->程序中断

4.try - catch - finally
语法:
代码块A;
try{
代码块B;
}catch(异常类型 异常名){
代码块C;
}finally{
代码块F;
}
代码块D;

(1)try 代码块没有异常
A->B->F->D
(2)代码块B 有异常且匹配捕捉异常
A->B->C->F->D

(3)代码块B 有异常且不匹配捕捉异常
A->B->F->D
(4)F代码块(finally 代码块)唯一不执行的情况,就是遇到System.exit(1) 退出java 虚拟机;

5.多重catch 块注意事项
(1)异常逐个匹配,执行第一个匹配的异常
(2)异常的先后顺序,先子类,后父类
(3)catch 块只能执行一个
6.异常体系结构
(1)Error 进靠程序本身无法恢复
(2)RuntimeException 运行时异常 – 编译时可以处理也可以不处理
(3)Checked 检查异常 – 编译的必须要处理的异常
(4)RuntimeException 和 Checked 异常 的父类 - Exception

7.自定义异常的三个方法
(1)继承Exception – checked 异常 (编译的时候,就必须处理)
(2)继承 RuntimeException
(3)继承 Throwable – checked 异常(编译的时候,就必须处理)

步骤:
①自定义一个类,继承一个父类(Exception ,RuntimeException,Throwable)
②重写一个构造方法
③使用throw 抛出自定义的异常(实例化)
8.try-catch-finally catch中存在return语句的执行顺序
1)如果try 语句块有异常,并且匹配上catch,那么:
先执行try 语句块,再执行catch 语句块return 之前的语句,再执行finally 语句块,最后执行return 语句!
1)如果try 语句块没有有异常,那么:
先执行try 语句块,再执行finally 语句!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值