如何编写一个自定义的Exception类_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 如何编写一个自定义的Exception类

如何编写一个自定义的Exception类

 2011/11/23 8:17:20  yuyiming1986  http://yuyiming1986.iteye.com  我要评论(0)
  • 摘要:如何编写一个自定义的Exception类1.编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。至少要继承Throwable或Throwable的子类(Exception),然后编写两个构造函数,一个无参构造函数,另一个提供描述异常信息字符串参数的构造函数。在继承任何异常时,将自动继承Throwable类的一些标准特性,如:错误消息栈跟踪异常包装2.代码示例:classSomeExceptionextendsException
  • 标签:一个 自定义
如何编写一个自定义的Exception类


1.编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。

  至少要继承Throwable或Throwable的子类(Exception),然后编写两个构造函数,一个无参构造函数,另一个提供描述异常信息字符串参数的构造函数。

  在继承任何异常时,将自动继承Throwable类的一些标准特性,如:
      错误消息
      栈跟踪
      异常包装



2.代码示例:

class SomeException extends Exception{
	
	
	public SomeException(){
	}
	
	public SomeException(String s){
		super(s);
	}
}


3.在显示异常信息的时候,其实就是调用异常对象的toString()方法
 +SomeException(String s)
       |
       +super(s):SomeException
            |
            +super(s):Exception
                |
                +detailMessage = s:Throwable


  所以说在throw new SomeException(String s)抛出异常时,异常描述信息,被延着继承链一直往基类方向传递(SomeException->Exception->Throwable),在输出异常信息的时候,会调用异常对象的toString()方法。

  在Throwable当中toString()定义如下:
 
public String toString() {
        String s = getClass().getName();
        String message = getLocalizedMessage();
        return (message != null) ? (s + ": " + message) : s;
  }


  而message来自于detailMessage,所以说,异常描述信息,最终会以"类的全限名:异常描述信息"的方式打印出来,再打印出堆栈当中函数调用链的信息。
发表评论
用户名: 匿名