java异常居然是这样处理的

异常

什么是异常

  1. 程序不正常就是异常。
  2. jvm会处理程序中未处理的异常,步骤:暂停程序,报错
  3. 不要让jvm取处理异常

try-catch

语法结构

try{
    有可能出现异常的代码块
}catch(声明异常){
    异常解决办法
}

执行顺序

  1. 先执行try中块中的内容
  2. 如果try块中内容出现异常,执行catch块
  3. 匹配catch中声明的异常信息,如果匹配上,则执行catch中的代码
  4. 继续执行后续代码
  5. 如果catch中的异常信息没有匹配到,那么交由jvm处理该异常

try-catch-catch-…

语法结构
 try{
       	//可能出现异常的代码段
       }catch(异常1){
       	//异常 的解决办法
       }catch(异常2){
      		 //异常 的解决办法
       }.......{
       }
执行顺序
  1. 执行try块 如果出现异常 new出当前异常对象
  2. 逐一匹配catch中的异常内容
  3. 如果匹配上 执行对应的catch中的代码 整个try-catch执行结束
  4. 如果没匹配上,jvm去解决当前异常信息
注意事项
  1. 在多重catch中一般情况下会在最后一个catch语句中编写Exception 用来捕获可能未被识别的异常信息
  2. 不要再第一个catch中编写父类异常

try-catch-finally

语法结构
try{
      	//可能出现异常的代码
    }catch(异常1){
      	//处理办法
      }.....{ 
      	}finally{
      		//代码块一定会执行
      		关闭资源的代码  
      	}

throw throws

异常对象的常见方法

常见方法作用用例
toString当前异常类型以及原因描述java.lang.ArithmeticException: / by zero
printStackTrace打印堆栈信息 异常类型以及原因描述 异常位置java.lang.ArithmeticException: / by zero at com.guxin.arrays.test.test01.main(test01.java:17)
getMessage异常原因/ by zero

继承关系

在java中,异常对象都是派生于Throwable类的一个实例。如果java中内置的异常类不能满足需求,用户可以创建自己的异常类。

在这里插入图片描述

  • 所有的异常都是由Throwable继承而来
    不能满足需求,用户可以创建自己的异常类。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值