《JAVA异常》

《JAVA异常》

开发工具与关键技术:Eclipse   与   java
作者:蔡杰明
撰写时间:2021  年 05  月 03 日

Java异常分为两大类:
1、Checked异常:不是RuntimeException类及其子类的实例【自定义异常】
2、Runtime异常(运行时异常):所有的RuntimeException类及其子类的实例
① Checked异常只有Java提供,其他语言没有Checked异常
② Checked异常可被处理(修复)的异常,必须显示处理Checked异常;程序没有处理Checked异常,程序编译时会发生错误。
③ Checked异常:没有完善错误处理的代码根本就不会被执行
④Runtime异常:灵活,Runtime异常无须显示声明抛出,程序捕获Runtime异常,可用try…catch块来实现
在这里插入图片描述

Exception异常:程序运行出现意外情形,系统自动生成一个Exception对象通知程序

Java异常处理机制:抛出异常,捕捉异常,处理异常

处理异常则使用try…catch捕捉异常【try捕捉异常,catch处理异常】
try{
//业务功能代码
}catch(异常类1 e1){
//异常处理代码1
}catch(异常类2 e2){
//异常处理代码2
}…
在使用try…catch捕获处理异常时需要注意:

  1. 不要过度使用异常,不能使用异常处理机制来代替正常的流程控制语句
  2. 异常捕获时,一定要先捕获小异常,再捕获大异常。否则小异常无法被捕获
  3. 避免出现庞大的try块
  4. 避免使用catch(Exception e){}
  5. 不要忽略异常
    直接使用catch(Exception e){},会使下面的异常类全部报错,
    因为catch(Exception e){}是庞大的异常类,不符合异常捕获规范
    小异常---->大异常[范围大的异常,所有的异常都能匹配上]
    catch处理异常时,会逐步的匹配异常,匹配不上的异常会继承往下匹配到对应的异常

错误和异常:
在这里插入图片描述

throws异常:在声明方法不处理异常,往外抛出异常
throw异常:主动抛出异常
自定义异常类:
根据继承的类不同,定义的异常类不同

  • 定义一个普通的异常(checked类),直接继承Exception基类,就是checked异常
  • 定义一个Runtime异常,继承RuntimeException基类。
    为什么有自定义异常类?
  • 自定义异常为了根据不同的异常,传递不同的信息。
  • 为了规范。用别人的异常和异常的名字和现有的异常可能不匹配,进行不了判断处理
  • 用现有的异常可能不能进行判断处理
  • 有时要根据异常的类名,去根据异常类的名字进行不同的处理。
  • 都用Runtime异常进行判断的话,异常的名字全部都一样,不适合进行判断[可能无法判断]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值