Java异常

欢迎和我一起学习Java,加油!!


前言

异常体系 :
程序生病了,无法正常执行完毕


一、基本概念及分类

			Throwable
   	       /          \
       Error        Exception
  Error : 不由程序猿控制,一般为虚拟机生成并脱出
  Exception :
    RuntimeException 运行时异常,可以通过简单的if判断解决-> 增强程序健壮性,可以通过异常处理方案解决
        发生在程序运行期间,如果不处理异常,程序结果无法继续向下执行
    CheckedException 检查时异常|编译时异常,只能通过异常处理方案解决
        发生在程序编译期间,如果不处理,程序根本无法运行

二、常见的运行时异常

1.空指针异常 java.lang.NullPointerException
2.数组索引越界异常 java.lang.ArrayIndexOutOfBoundsException
3.类型转换异常 java.lang.ClassCastException
4.数学异常 java.lang.ArithmeticException
5.数组长度负数异常 java.lang.NegativeArraySizeException
6.数字转换异常 java.lang.NumberFormatException

三、异常处理方案

1.抛出异常 throws

        异常抛出到上一层,由调用者处理

2.异常捕获

try{
有可能出现异常的代码段;
}catch(异常类型 e){
如果出现这种类型的异常 ,执行的代码段
}catch(异常类型 e){
如果出现这种类型的异常 ,执行的代码段
}... catch (Exception e){
e.printStackTrace();
}finally{
无论是否出现异常,都会执行finally中的代码
}

try中的代码如果么有遇到异常,try中代码执行完毕,trycatch结束
try中代码一旦遇到异常,下面不执行,直接从上到下开始判断满足哪一个catch捕获的类型,执行对应的catch,如果都不满足,异常就没有被处理,程序无法向下执行
如果 存在多个catch,小范围类型写在上面,大范围类型写在下面
try后可以跟随1~多个catch
finally可以跟随需求添加,一般定义为资源关闭等代码


总结

异常将会在以后的编码及项目中经常使用,是个重点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值