zoukankan      html  css  js  c++  java
  • JAVA中的异常


    异常:
        程序在运行期间,发生了不可预测的事件,它阻止了我们程序的正常运行!
        
    异常处理机制:
        在我们的程序发生异常之后,代码能按照我们事先设计的顺序 继续执行!


    异常的分类

      所有异常和错误的父类====》Throwable
      异常的分类:
       01.运行时异常  RuntimeException
       02.受查异常     CheckedException

      IOException  
      FileNotFoundException  文件没找到
      ArithMeticException   算术异常
      InputMismatchException   输入类型不匹配
      NullPointerException  空指针异常
      ClassNotFoundException  没有找到类
      ClassCastException     类型转换异常


    异常和异常链的使用

    异常的处理分为两种方式:
      01. try  catch   finally
      02.throw抛出异常, throws声明异常

     try
     01.不能单独使用,必须和catch/finally联合使用
     02.存放可能出现异常的代码
     03.如果try代码块中出现了异常,会去匹配catch代码块对应的异常类型,
             没有匹配的类型,直接进入finally
     catch
     01.可以有多个catch块,每个catch都能捕获一个异常
     02.多个catch块捕获的异常类型不允许重复
     03.多个catch块的异常类型 必须是 从小到大排列
     04.如果多个catch块都能匹配,默认使用第一个匹配的
     05.如果try中都没有发生异常,catch代码块被忽略
     06.每个代码块中的变量 都是 私有的
     
     finally
     01.无论代码是否发生异常,都会执行的代码块
     02.如果遇到了System.exit(0)或者System.exit(非0)不会执行finally
     03.如果try代码块中出现了 return  也是 先执行finally 之后再跳出方法
     04.后续关闭流,释放数据库连接资源
     
     
     
     throw抛出异常
     
      01.语法   throw  new  异常类型(异常信息)
      02.异常类型必须是Exception或者其子类
      03.一个throw只能 抛出一个异常
      04.只能出现在方法体内
      05.针对于抛出的异常  我们能使用两种方式解决
          001.try  catch   finally
          002.使用throws声明异常
      06.抛出异常的类型必须是 声明异常类型本身或者其子类
      
      
     throws声明异常
      01.语法  throws  异常类型1,异常类型2...
      02.定义在方法的参数列表之后,可以声明多个异常
      03.throws所在的方法不处理异常,方法的调用者去处理异常
      04.如果在main方法中使用throws,则是JVM来处理异常


    异常链的使用
       把我们捕获的异常包装成一个新的异常,继续抛出!新异常中记录了异常的原始信息!
      便于我们找到异常的根本原因!
       


    自定义异常
     01.异常类必须是Throwable的子类
     02.自定义异常类 继承 RuntimeException ,Exception
    异常:
        程序在运行期间,发生了不可预测的事件,它阻止了我们程序的正常运行!
        
    异常处理机制:
        在我们的程序发生异常之后,代码能按照我们事先设计的顺序 继续执行!


    异常的分类

      所有异常和错误的父类====》Throwable
      异常的分类:
       01.运行时异常  RuntimeException
       02.受查异常     CheckedException

      IOException  
      FileNotFoundException  文件没找到
      ArithMeticException   算术异常
      InputMismatchException   输入类型不匹配
      NullPointerException  空指针异常
      ClassNotFoundException  没有找到类
      ClassCastException     类型转换异常


    异常和异常链的使用

    异常的处理分为两种方式:
      01. try  catch   finally
      02.throw抛出异常, throws声明异常

     try
     01.不能单独使用,必须和catch/finally联合使用
     02.存放可能出现异常的代码
     03.如果try代码块中出现了异常,会去匹配catch代码块对应的异常类型,
             没有匹配的类型,直接进入finally
     catch
     01.可以有多个catch块,每个catch都能捕获一个异常
     02.多个catch块捕获的异常类型不允许重复
     03.多个catch块的异常类型 必须是 从小到大排列
     04.如果多个catch块都能匹配,默认使用第一个匹配的
     05.如果try中都没有发生异常,catch代码块被忽略
     06.每个代码块中的变量 都是 私有的
     
     finally
     01.无论代码是否发生异常,都会执行的代码块
     02.如果遇到了System.exit(0)或者System.exit(非0)不会执行finally
     03.如果try代码块中出现了 return  也是 先执行finally 之后再跳出方法
     04.后续关闭流,释放数据库连接资源
     
     
     
     throw抛出异常
     
      01.语法   throw  new  异常类型(异常信息)
      02.异常类型必须是Exception或者其子类
      03.一个throw只能 抛出一个异常
      04.只能出现在方法体内
      05.针对于抛出的异常  我们能使用两种方式解决
          001.try  catch   finally
          002.使用throws声明异常
      06.抛出异常的类型必须是 声明异常类型本身或者其子类
      
      
     throws声明异常
      01.语法  throws  异常类型1,异常类型2...
      02.定义在方法的参数列表之后,可以声明多个异常
      03.throws所在的方法不处理异常,方法的调用者去处理异常
      04.如果在main方法中使用throws,则是JVM来处理异常


    异常链的使用
       把我们捕获的异常包装成一个新的异常,继续抛出!新异常中记录了异常的原始信息!
      便于我们找到异常的根本原因!
       


    自定义异常
     01.异常类必须是Throwable的子类
     02.自定义异常类 继承 RuntimeException ,Exception

  • 相关阅读:
    YOLOV2相对于YOLOV1的改进
    在训练过程中loss出现NaN的原因以及可以采取的方法
    出现梯度消失和梯度爆炸的原因及解决方案
    Batch Normalization 原理
    几种激活函数的对比(二)
    几种激活函数对比(一)
    Leetcode 830. Positions of Large Groups
    Leetcode 985. Sum of Even Numbers After Queries
    python中的赋值与拷贝(浅拷贝与深拷贝)
    Leetcode 665. Non-decreasing Array
  • 原文地址:https://www.cnblogs.com/WillimTUrner/p/8042715.html
Copyright © 2011-2022 走看看