侧边栏壁纸
博主头像
三生石博主等级

梦想还是有的,就算做咸鱼,也要做最咸的。|

  • 累计撰写 39 篇文章
  • 累计创建 65 个标签
  • 累计收到 10 条评论

异常

三生石
2021-03-25 / 0 评论 / 0 点赞 / 126 阅读 / 975 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-08-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

异常

什么是异常?

异常是指在程序的运行过程中所发生的不正常的事件,他会中断正在循行的程序

异常处理的5个关键字

捕捉异常:

  • try:执行可能产生的异常代码

  • catch:捕捉异常

  • finally:无论是否发生异常,代码总能执行(除非JVM停电System.exit(1))

声明异常

  • throws:声明方法可能要抛出的异常

抛出异常

  • throw:手动抛出异常

使用try-catch块捕获异常,分为三种情况:

第一种情况(没有异常)

public class method(){
    try{
        //代码块(这块区域不会产生异常)
    }catch(异常类型 e){
        //对异常进行处理的代码块
    }
    //代码段
}

运行到try块里没有检查出异常代码则会不执行catch里的代码块。

第二种情况(出现异常)

public class method(){
    try{
        //代码段1
        //产生异常代码段2
        //代码段3
    }catch(异常类型 e){
        //对异常进行处理的代码块4
    }
    //代码段5
}

异常是一种特殊的对象,类型为Java.lang.Exception或其子类

执行到try时候发现异常--产生异常对象--异常类型匹配---进入catch代码块---然后在执行try-catch后的代码

第三种情况(异常类型不匹配)

public class method(){
    try{
        //代码段1
        //产生异常代码段2
        //代码段3
    }catch(异常类型 e){
        //对异常进行处理的代码块4
    }
    //代码段5
}

执行到try时候发现异常--产生异常对象--异常类型不匹配---程序中断运行

在try-catch块后加入finally块

  • 是否发生异常都执行
  • 不执行的唯一情况
image

声明异常(throws)

throws声明某个方法可能抛出的各种异样,多个异常用逗号隔开。

抛出异常(throw)

除了系统自动抛出异常外,有些问题需要程序员自行抛出异常

throwthrows
生成并抛出异常声明方法内抛出了异常
位于方法体内,可作为单独语句使用必须跟在方法参数列表后面,不能单独使用
抛出一个异常对象,且只能是一个声明抛出异常类型,可以跟多个异常

自定义异常

当JDK中的异常类型不能满足程序的需要时,可以自定义异常类

使用自定义异常的步骤:

  1. 定义异常类(继承Throwable、继承Excepion或者RuntimeException)
  2. 编写构造方法,继承父类的实现
  3. 实例化自定义对象
  4. 使用throw抛出
0

评论区