zoukankan      html  css  js  c++  java
  • java学习笔记day07

    1.throwable下面的子类分为两大类:Error 和 Exception

    2.如果方法上有throws Exception,则必须对异常进行处理:
      try{
        需要检测异常代码
      
      }catch(Exception e){
         处理异常代码

      }finally{
        一定会执行的代码
      }

      这里,如果没有进行try{}catch(){}进行处理,而在调用它的方法上继续throwsException
      抛出,到最后没有方法进行处理,一直抛给JVM虚拟机,JVM虚拟机有个默认的处理机制,
      这里,程序可以编译通过,但是在运行时还是会报错,终止程序。

    3.当方法上标明有多个异常类需要抛出处理时,需要有与之对应的catch进行捕捉
      这时需要把父子的catch放在多个catch的最后面。

    4.自定义异常:
      1)定义一个Exception的子类(即该类需要继承Exception)
      2)创建该子类对象,并将该对象进行抛出,引起程序的跳转。
      自定义异常类,如果某个方法调用该类的方法可能出现异常,该方法中需要有throw new 异常类()
      并在该方法上进行标明,如果throw new 是Exception异常类的子类时,方法上可以不标明

    5.RuntimeException异常 和 普通Exception异常的区别
      普通Exception异常在编译时期是需要检测的
      而RuntimeException在编译时期是可以不被检测的
      即:
      方法内有throw new Exception("");时,那在该方法上必须标识该异常
      而如果方法内有throw new RuntimeException("");时,可以不在方法上标识该异常

    6.throw 和 throws的区别
      1)throw是语句抛出一个异常;throws是方法抛出一个异常
      2)throws可以单独使用,但throw不能
      3)throw要么和try-catch-finally语句配套使用,要么与throws配套使用。但throws
        可以单独使用,然后再由处理异常的方法捕获。
      throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。
      throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。
      throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。
      throw是具体向外抛异常的动作,所以它是抛出一个异常实例。

    7.异常处理细节:
      1)如果父类中的方法没有throws 抛出异常,那么子类覆盖该方法时不能throws抛出异常,只能try,不能抛。(即父类没做的事情,子类不能做)
      2)子类覆盖父类时,只能抛出父类异常或者异常的子类
      3)如果父类抛出多个异常,那么子类只能抛出这些异常子集

  • 相关阅读:
    BUUOJ | [ACTF新生赛2020]usualCrypt (多重加密)
    高数笔记 | 快速索引 + 期末总结(2019-2020学年第二学期)
    BUUOJ | SimpleRev(字符对称加密)
    CTF OJ 题目分类 | Reverse
    CPPU程序设计训练营清明天梯模拟赛题解
    数据可视化 | 2020年3月世界疫情实存人数地图
    CTF OJ 题目分类 | PWN
    BJDCTF 2nd | Strenuous_Huffman(二进制模拟)
    ssh连接慢优化
    日常问题处理
  • 原文地址:https://www.cnblogs.com/luihengk/p/4058317.html
Copyright © 2011-2022 走看看