Javase—异常处理


1.java中产生错误的类型:
1.编译错误:
2.运行错误:(异常)
3.逻辑错误:


2.异常
1.定义:在程序运行中产生的错误,在java中一切皆为对象,异常也是一个对象,某一类的异常就是异常类
2.异常种类(2种)及其层次结构:
1.error :JVM产生的错误,无法通过编程解决
2.Exception :运行时产生的错误,可以通过编程解决,分为两种
1.RuntimeException :编译时可以不处理
1.NullPointerException :空指针异常
2.ClassCastExcepion :类型转换异常
3.ArrayIndexOutOfBoundException :数组下标越界
4.IndexOutOfBoundsException :下标越界
5.ArithmeticException :数学异常
6.ConcurrentException :并发修改异常
7.……
2.Exception(受检查异常):编译时必须处理


3.异常处理机制:抛出—>捕获


4.try、catch:
1.用于对异常进行处理
2.语法:try{
可能产生异常的代码;
}catch(异常类型1 参数){
代码块;
}catch(异常类型2 参数){
代码块;
}
3.总结说明:
1.try块里可以包含多行代码,这些代码是一个整体,只要某条语句出现异常,就会异常抛出,try块中剩余的语句不会再执行
2.一个try可以对应多个catch,每个catch只能捕获一种异常类型,try块中抛出异常后,catch会依次进行匹配来捕获,完成后不再向下匹配,没完成则继续向上抛出此异常
3.try中如果有finally可以没有catch
4.try可以嵌套,即一个try里可以包含try
5.一个try对应多个catch时,父类要放在子类后面
4.可以用printStackTrack来打印错误轨迹


5.finally:
1.可以和try搭配使用,放在try、catch语句的最后,每个try块里只能有一个
2.在正常情况下,只要进入try块,就一定会运行finally,前面有return也会运行


6.自定义异常的方式:继承一个Runtime或Exception的异常类


7.throw:
1.自定义异常对象后,可以用throw抛出异常对象
2.在有返回值的方法中,可以用return结束语句,也可以用throw结束


8.throws:
1.放在方法后,throws后需要加上异常类型,表示调用此方法时会抛出一个异常
2.例如:public Object get() throws Exception{
} //此语法表示get方法会产生受检查异常,调用者必须处理这种异常


9.throw和throws的区别:
1.throw是手动抛出一个异常,throw后接一个异常对象
2.throws放在方法后,表示调用此方法会产生某种异常,throws后接异常类型


10.产生异常后的两种处理方式:
1.自行处理:try,catch
2.回避处理:向外抛出


11.final、finalize、finally的区别:
1.final修饰属性方法或类,修饰属性不能修改,修饰方法不能重写,修饰类不能继承
2.finalize是一个方法,当一个对象被定义为垃圾时,JVM可能会调用此方法
3.finally在异常中使用,放在try和catch后,每个try里只能有一个,正常情况下,只要进入try块就一定会调用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值