zoukankan      html  css  js  c++  java
  • 异常

    异常:

      程序在运行期间,发生了不可预测的事件,它阻止了我们程序的正常运行!

    异常处理机制:

      在程序发生异常之后,代码能按照我们之前设计的顺序 继续执行!

    所有异常和错误的父类==》Throwable

    异常的分类:

      01.运行时异常 RuntimeException

      02.受查异常  CheckedException

    IOException

    FileNotFoundException  文件没找到

    ArithMeticException  算术异常

    InputMismatchException  输入类型不匹配

    NullPointerException  空指针异常

    ClassNotFoundException  没有找到类

    ClassCastException  类型转换异常

    异常处理分为两种方式:

      1.try  catch  finally

        01.try  不能单独使用,必须和catch/finally联合使用

              存放可能出现异常的代码

              如果try代码块中出现了异常,会去匹配catch代码块对应的异常类型,没有匹配的类型,直接进入finally

        02.catch   可以有多个catch块,每个catch都能捕获一个异常 

              多个catch块捕获的异常类型不允许重复

              多个catch块捕获的异常必须是从小到大排列

              如果多个catch块都能匹配,默认使用第一个匹配的

              如果try中没有发生异常,catch块被忽略

              每个代码块中的变量都是私有的

        03.finally  无论代码是否发生异常,都会执行的代码块

              如果遇到了System.exit(0)或者System.exit(非0)不会执行finally

              如果try代码块中出现了return  也是先执行finally  之后再跳出方法

              后续关闭流,释放数据库链接资源

      2.throw抛出异常,throws声明异常

        01.throw抛出异常

           语法:throw new 异常类型(异常信息)

           异常类型必须是Exception或者其子类

           一个throw只能抛出一个异常

           只能出现在方法体内

           针对于抛出的异常 两种方式解决

              001.try  catch  finally

              002.使用throws声明异常

           抛出异常的类型必须是 声明异常本身或者是其子类

        02.throws声明异常

           语法:throws 异常类型1,异常类型2....

           定义在方法的参数列表之后,可以声明多个异常

           throws所在的方法不处理异常,方法的调用在去处理异常

           如果在main方法中使用throws,则是JVM来处理异常

    异常链的使用

      把我们捕获的异常包装成一个新的异常,继续抛出!新异常中记录了异常的原始信息!

      便于我们找到异常的根本原因!

    自定义异常

      01.异常类必须是Throwable的子类

      02.自定义异常类 继承RuntimeExceptionException

  • 相关阅读:
    SqlServer 查看被锁的表和解除被锁的表
    Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1
    请求文件下载URL过长处理
    T4语法
    windows下 安装 rabbitMQ 及操作常用命令
    ubuntu系统启动qtceator时提示:Qt5.5.1/Tools/QtCreator/lib/qtcreator/plugins/libHelp.so: 无法加载库
    升级到VS2013常见问题
    Windowns 无法启动 Office Software Protection Platform 服务,系统找不到指定的文件
    SVN clean失败解决方法
    使用PostSharp在.NET平台上实现AOP
  • 原文地址:https://www.cnblogs.com/dongfengpo/p/8042381.html
Copyright © 2011-2022 走看看