优雅的异常处理

1.什么是Java代码中的异常

代码正常运行不会出问题,但是遇到意外,参数变量,不符合要求,发生意外,代码终止运行

2.异常的分类

3.异常的处理方式

自己捕获处理

  1.  try-catch的语法结构及链式结构多异常处理方式
  • 语法:

try{

//可能产生异常的代码

}catch(捕获的异常类型 e){//e是形式参数

//该异常捕获之后要做的操作

}catch(捕获的异常类型 e){//e是形式参数

//该异常捕获之后要做的操作

}finally{

//异常发生之后一定会执行到的语句块:

//①流资源关闭②释放锁

}

  1. 语句块执行顺序:
  1. 顺序执行:进入异常捕获语句块
  2. 如果产生异常,执行catch捕获,捕获到对应异常,并且对应catch后面的代码块
  3. finally语句块一定会执行到:前提前面语句没有执行System.exit(0)退出虚拟机

异常信息处理方式二抛出异常

  • 语法结构:方法后面使用throws 需要抛出的异常类型

抛出异常的注意事项:

①方法抛出运行时异常,在方法头可以不用抛出异常

②方法抛出编译时异常:方法必须处理异常,或者抛出同类异常,或者抛出异常该异常的父类类型异常

4.finally结构

  1. finally语句块
  1. try-catch语句块可以用写finally
  2. 处理异常之后finally语句块一定会执行到
  3. finally语句块中,一般用来处理什么内容
  1. 关闭流资源[ IO流知识部分再了解 ]
  2. 释放锁[ 线程知识部分再了解 ]
  1. 注意  一般不要在finally里面写返回语句,程序难理解
  2. finally语句之前,如果有执行退出虚拟机,也是不会执行finally语句

5.主动向外 抛出【产生异常】

方法内部主动创建异常抛出

6、throws 和 throw的区别

  1. throws 处理异常
    1. 在方法头抛出异常
  2. throw 开发代码存在以外的情况,自己主动抛出异常[产生异常]
    1. 在方法内部 throw new NullPointException()

7、自定义异常

java中已经写好很多异常,但不能满足开发中所有异常描述的需求,所以需要自定义异常

转载于:https://my.oschina.net/u/4083666/blog/3027636

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值