异常

作者: Hoffnung_8164 | 来源:发表于2020-04-25 20:59 被阅读0次

2.1、异常

    异常的概念:

        异常:Exception

        概念:在程序执行的时候,代码中产生的不正常事件,导致程序无法正常的执行。

    程序的执行流程:

        step1:JVM创建一个主线程,调用主函数,程序的入口:main()...

        step2:按照main方法中的内容,从上向下执行,逐行执行

            创建对象。。。

            分支语句。。。

            循环语句。。

            方法调用。。。。。

    step3:当main方法中的所有代码全部执行完毕,程序正常结束了。JVM退出了。

程序的执行过程中,产生了异常,由JVM负责创建该类型的异常对象并抛出,打断程序的执行。

2.2、异常的分类

        Throwable类:可抛出的。

            |————Error:错误。(系统级别的问题,程序员解决不了)

            |————Exception:异常。(程序员需要解决的)

        Exception:异常

            |————受检异常,编译在编译程序时候,能够检查出来的异常。外部的因素导致的异常。

                IOException:IO异常

                FileNotFoundException:文件不存在的异常

                SQLException:数据库异常

        必须处理,程序才能运行。

            非受检异常,又叫运行时异常(RuntimeException)。编译器在编译程序的时候,不检查。运行时候可能暴露出来的异常。代码中的逻辑问题导致的异常。

                ArithmeticException:算术异常

                NullPointerException:空指针异常

                ClassCastException:类转型失败异常

                ArrayIndexOutOfBoundsException:数组下标越界异常

                StringIndexOutOfBoundsException:字符串下标越界异常

                InputMismatchException:类型不匹配异常

                NumberFormatException:数字格式化异常

            step1:编写源代码

            step2:编译器进行编译:产生字节码文件

                    javac HelloWorld.java--->HelloWorld.class

            step3:解释器去执行。

                java HelloWorld

2.3、捕获异常

    捕获的语法结构:

        try{

            //try语句块中,有可能产生异常的代码,尝试着执行

            }catch(异常类型1e){

                //对异常处理

            }catch(异常类型2e){

                //

            }...

            finally{

                //此处的操作是可选的,

                这里的代码,一定会被执行的。。

        }

解释说明:关键字

    try:尝试的意思,尝试着执行代码块中的代码

    catch:抓取,捕获,捕获异常对象。。

    finally:最终的。

执行流程:

        1、先尝试着执行try语句块中的代码,如果没有产生异常,忽略catch语句。继续向下执行。

        2、如果产生异常了,那么就会跳出try语句,而去匹配catch语句,和哪个catch匹配上了,就进入到catch语句中去执行。

        3、一个try语句可以配合多个catch,产生异常时,会从上向下匹配这些异常类型。和哪个匹配上了就执行哪个catch。小类型的异常写前面,大类型的异常写后面。

        4、如果有finally语句,无论是否产生异常,都会执行finally里面的代码。该语句块是可选的。一般用于资源的释放,文件的断开,临时文件的删除。。

2.4、抛出异常

    throws关键字,该方法不处理异常,抛出,交给调用处进行处理异常。

        publicvoidtest()throws异常类型1,异常类型2...{

        }

            表示该方法不处理异常,向外抛出,交由调用处进行处理。受检异常,调用处就必须处理,非受检异常调用处可以暂时不处理。

相关文章

  • 异常和模块

    异常 目标 了解异常 捕获异常 异常的else 异常finally 异常的传递 自定义异常 一. 了解异常 当检测...

  • python多线程

    异常基础知识 -异常简介: 运行时错误 -异常类: 异常数据 异常名称,异常数据,异常类型 -自定义异常 clas...

  • dart 异常

    dart中的异常 异常处理 抛出异常 异常捕获

  • Java基础之异常

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

  • python核心编程-错误与异常

    本章主题:什么是异常Python中的异常探测和处理异常上下文管理引发异常断言标准异常创建异常相关模块 什么是异常 ...

  • motan(RPC)系统梳理知识点

    异常分类: 业务异常(bizException) 服务异常(serviceException) 框架异常(fram...

  • 异常

    Java异常体系 异常的分类 Java的异常分为两大类:Checked异常和Runtime异常(运行时异常)。所有...

  • 从零构架个人博客网站(二)-全局异常处理

    中间件的异常 全局异常中间件全局异常监听定义异常的返回结果定义常见的异常状态开发环境 异常查看 对于异常,我们可以...

  • Node.js异常处理

    Node.js异常分类: 变量异常 函数异常 调用异常 变量异常 未定义变量 未包含对象 变量类型错误 函数异常 ...

  • python 异常

    异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释...

网友评论

      本文标题:异常

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