1、自定义异常类的定义

  (1)通过阅读异常源代码:发现java中所有的异常类,都是继承Throwable,或者继承Throwable的子类。这样该异常才可以被throw抛出;

  (2)说明这个异常体系具备一个特有的特性:可抛性:即可以被throw关键字操作;

  (3)查阅异常子类源码,发现每个异常中都调用了父类的构造方法,把异常描述信息传递给了父类,让父类帮我们进行异常信息的封装。例如NullPointerException异常类源代码:

1 public class NullPointerException extends RuntimeException {
2     public NullPointerException() {
3         super();//调用父类构造方法
4     }
5     public NullPointerException(String s) {
6         super(s);//调用父类具有异常信息的构造方法
7     }
8 }

  (4)自定义异常格式:

1 Class 异常名 extends Exception{ //或继承RuntimeException
2     public 异常名(){
3 }
4   public 异常名(String s){ 
5     super(s); 
6   }
7 }

  (5)自定义异常继承Exception演示

 1 class MyException extends Exception{
 2     /*
 3     为什么要定义构造函数,因为看到Java中的异常描述类中有提供对异常对象的初始化方法。
 4     */
 5     public MyException(){
 6         super();
 7     }
 8     public MyException(String message)    {
 9         super(message);// 如果自定义异常需要异常信息,可以通过调用父类的带有字符串参数的构造函数即可。
10     }
11 }

  (6)自定义异常继承RuntimeException演示

 1 class MyException extends RuntimeException{
 2     /*
 3     为什么要定义构造函数,因为看到Java中的异常描述类中有提供对异常对象的初始化方法。
 4     */
 5     MyException(){
 6         super();
 7     }
 8     MyException(String message)    {
 9         super(message);// 如果自定义异常需要异常信息,可以通过调用父类的带有字符串参数的构造函数即可。
10     }
11 }

 

转载于:https://www.cnblogs.com/gzdlh/p/8095074.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐