3.自定义异常

Posted duanfu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.自定义异常相关的知识,希望对你有一定的参考价值。

自定义异常:
 
使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。
 
在程序中使用自定义异常类,大体可以分为以下几个步骤:
  1. 创建自定义异常类
  2. 在方法中通过throw关键字抛出异常对象
  3. 如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
  4. 在出现异常方法的调用者中捕获并处理异常。

 1 package com.exception.demo02;
 2 
 3 //自定义的异常类:继承Exception
 4 public class MyException extends Exception {
 5 
 6     //传递数字>10;
 7     private int detail;
 8 
 9     public MyException(int a) {
10         this.detail = a;
11     }
12 
13     //toString:异常的打印信息
14     @Override
15     public String toString() {
16         return "MyException{" + detail + ‘}‘;
17     }
18 }
 1 package com.exception.demo02;
 2 
 3 public class Test {
 4 
 5     //可能会存在异常的方法
 6 
 7     static void test(int a) throws MyException {
 8 
 9         System.out.println("传递的参数为:" + a);
10         if (a > 10) {
11             throw new MyException(a);//抛出
12         }
13 
14         System.out.println("OK");
15     }
16 
17 
18     public static void main(String[] args) {
19         try {
20             test(11);
21         } catch (MyException e) {
22             System.out.println("MyException=>" + e);
23         }
24     }
25 
26 }
27 
28 结果:
29 传递的参数为:11
30 MyException=>MyException{11}
实际应用中的经验总结:
1、处理运行时以异常时,采用逻辑合理规避同时辅助 try-catch 处理
2、在多重catch语句块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
3、对于不确定的代码,也可以加上一个 try-catch ,处理潜在的异常
4、尽量去处理异常,切记只是简单的 printStackTrace() 去打印输出
5、具体如何处理异常,要根据不同的业务需求和异常类型去决定
6、尽量添加finally语句块去释放占用的资源

以上是关于3.自定义异常的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段3——url大全

VSCode自定义代码片段——声明函数

VSCode自定义代码片段6——CSS选择器

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

VSCode自定义代码片段5——HTML元素结构

VSCode自定义代码片段5——HTML元素结构