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语句块去释放占用的资源
posted @ 2020-01-21 18:09  断浮  阅读(250)  评论(0编辑  收藏  举报