1.异常的体系
---------|Throwable
--------------| Error (错误) 错误一般是由于jvm或者是硬件引发的问题,所以我们一般都不会通过代码去处理。
--------------| Exception (异常) 异常我们一般都会通过代码去处理的。

----------------------|运行时异常:方法可以不声明,可以不处理

----------------------|编译时异常:必须声明,调用者必须处理异常


(1)异常的处理方式

        方式一:捕获处理

             捕获处理的格式

              try{

                  可能发生异常的代码

              }catch(捕获的异常类型 变量名){
                处理异常的代码
              }

      捕获处理要注意的细节:
      1. 如果一个try块中出现了异常的代码,经过处理之后,那么try-catch块外面的代码可以正常执行。
      2. 如果一个try块中出现了异常的代码,那么在try块中出现异常的代码后面 的语句无法执行。
      3. 一个try块后面可以跟多个catch块,也就是一个try块可以捕获多种异常的类型,但是捕获的
      异常类型必须从小到大进行捕获。

       方式二:抛出处理(throw throws)


      抛出处理要注意的细节:
          1. 如果一个方法内部抛出了一个编译时异常对象,那么该方法必须要声明抛出。
          2. 如果调用了一个声明抛出编译时异常的方法,那么调用者必须要处理。
          3. 如果一个方法抛出了一个异常对象,那么该方法也会马上停止(一个方法遇到了throw关键字,那么该方法就会马上停止)
          4. 在一种情况下只能抛出一种异常对象。

      throw 关键字是用于方法体之内抛出异常对象 的,throws是用于方法 声明上声明抛出异常类型的。

(2)自定义异常类

     需求:模拟xiaoping上线时没有插网线,此时抛出一个异常

     步骤:a.定义一个异常类需要继承Exception类(有些类不清楚可以查看API说明文档)

                 

//定义一个异常类
class NoIpException extends Exception{
      public NoIpException(String message){
            Super(message);//调用父类构造函数
      }
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案