00086_自定义异常

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 }

 

posted @ 2017-12-24 00:24  gzdlh  阅读(100)  评论(0编辑  收藏  举报