美文网首页
Java之异常

Java之异常

作者: 定一 | 来源:发表于2020-06-15 10:43 被阅读0次

Q:为什么要进行异常处理?
A:为了使希望程序出错后仍然可以继续运行下去。
比如:

    public static void main(String[] args) {
        String str = "hello";
        //str不是数字,会转行出错。
        System.out.println(Integer.parseInt(str));
        int i = 12;
        System.out.println(i);
    }

5个关键字:

  • try: try代码块中放可能产生异常的代码
  • catch: catch代码块中放处理异常的代码
  • finally:finally代码块中放一定会被执行的代码
  • throw:throw用在代码中手工抛出异常
  • throws:throws用在方法的声明部分,表示此方法会抛出异常

Java中的异常体系:


try和catch

代码结构:

       try {
            //可能产生异常代码
        } catch (Exception e) {
            //对异常处理代码
        }

try后面跟一个代码块,将可能产生异常的代码放在这个代码块里 。catch用来处理异常的代码,catch后的小括号中必须定义一个异常类型的引用,用来接收try块抛出的异常对象。Try代码块产生异常时,异常信息被封装到某个类型的异常对象中,对象被传递给catch后面小括号中定义的异常类型的引用。

  • Try,catch的3种情况:
    第1种:try块没有产生异常,try块里的代码执行完毕,不会进catch, 接着执行try,catch后面的其它代码。


    图片.png

第2种:try块产生异常,并且产生的异常被正确的捕获到了,直接从产生异常的代码进入catch(产生异常的代码后的其它代码不会执行),catch块里的代码执行完毕后,接着执行try,catch后面的其它代码。


图片.png

第3种:try块产生异常,并且产生的异常没有被正确的捕获到了,程序执行直接中断,和没有对异常进行处理是一样的。


图片.png

假如try代码块里的代码可能产生多种异常,此时1个try对应多个catch 执行过程:


图片.png

将产生的异常跟第1个catch里的异常类型进行比较, 假如异常类型匹配,进入这个catch代码块,catch代码块执行完毕,忽略其它的catch块,接下去执行try,catch块后的其它代码 假如不匹配,与下一个catch进行比较,直到找到匹配的,则进入匹配的catch块,catch代码块执行完毕,忽略其它的catch块,假如都不匹配,程序中断,相当于没有对异常进行处理。

注:当要捕获的多个异常存在父子关系的时候,子类在前,父类在后,否则会产生不可达的代码,编译报错;假如不存在父子关系,无所谓先后。

相关文章

  • Java基础之异常

    Java基础之异常 目录 异常简单介绍 ThrowableErrorException 异常分类 如何处理异常异常...

  • Java基础之异常处理

    Java基础之异常处理 在Java程序中,异常分为编译异常以及运行时异常 编译异常:程序在编译期间就出现的异常,必...

  • JAVA之异常

    (1)异常与错误的区别:异常指程序在编译、运行期间发生了某种异常(XxxException),我们可以对异常进行具...

  • java之异常

    1、异常的概念 第一,异常模拟的是现实世界中不正常的事件 第二,java中采用类的形式去模拟异常 第三,类是可以创...

  • Java之异常

    Q:为什么要进行异常处理?A:为了使希望程序出错后仍然可以继续运行下去。比如: 5个关键字: try: try代码...

  • Java-8-Optional类

    Java-8-Optional类 java8新特性之Optional类 空指针异常是一个运行时异常,对于这一类异常...

  • 空指针异常(java.lang.NullPointerExce

    Java空指针异常(java.lang.NullPointerException) Java空指针异常(java....

  • Java 异常分析

    本文是对以下内容的分析: Java异常设计 Java 异常分类 Java异常可以告诉什么问题 Java异常处理最佳...

  • Java基础之异常

    异常:由于操作不规范、输入不符合要求、资源找不到等异于平常的情况,会导致程序出错。导致程序不正常运行。异常类型最高...

  • Java异常之IllegalMonitorStateExcept

    JavaDoc Thrown to indicate that a thread has attempted to...

网友评论

      本文标题:Java之异常

      本文链接:https://www.haomeiwen.com/subject/rclcxktx.html