有时候,我们要自己定义异常处理的类,如下:
异常分两种,一张是运行时的异常 还有一个是不是运行时期的异常。
总的父类异常是 Exception 这个类 然后被运行时异常类runtimeException和其他类基础
而RunTimeException 这个类被其他类继承的话,那么这样的异常就是运行期的异常,其他的直接基础Exception这个异常了。
举例说明:
这个类是基本的类就是自己定义的父类异常是非运行事情的异常,那么我在使用自己定义的
异常类的时候,继承这个类
package endual.utils;
public class EndualException extends Exception {
public EndualException (String message) {
super(message) ;
}
public EndualException(String message,int id) {
super(message + id) ;
}
}
比如的话:我这个异常是基础自己定义的父类的异常,这个是用于针对的是parse有关的异常
当然你也可以定义好多类似这样的异常类去处理特定的异常。。。。。,当然都需要继承自己首先封装好的EndualException这个异常类的
public class ParserBaseException extends EndualException {
public ParserBaseException(String message) {
super(message);
}
public ParserBaseException(String message,int id) {
super(message + id) ;
}
/**
*
*/
private static final long serialVersionUID = 1L;
}
这样就自己创建了自己的异常类了,那么我们来怎么使用呢 ?
package endual.exception;
public class TestBaseException {
public static void main(String[] args) {
String message = "" ;
int id = 1 ;
TestBaseException tbe = new TestBaseException() ;
tbe.testException(message, id) ;
}
public void testException(String message, int id) {
if (id == 1) {
String messagex = "this is the erro message " ;
ParserBaseException pbe = new ParserBaseException(messagex); //创建这个异常类,然后
try {
throw pbe ; //然后抛出这个异常就可以了
} catch (ParserBaseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//怎么使用
1.我们要用自己定义的异常类,那么肯定的,我们需要自己定义这样的异常类的对象。
2.其二就是用关键词trow这个关键进行抛出这个异常对象就OK了。
3.在抛出前,你首先要定义一些自己的话,String message 这样就可以将自己说的饿话抛出去。
***********************************************************************************
有人说了,那我不想自己定义的话,直接像Sun的jar包自己定义的那种类型的,就是有异常自己会指定的抛出去怎么写呢?
那么你可以看源代码如果想要标准点。还有一点那么我来实现下怎么个默认抛出已经定义好的异常。
public class MyException1 extends Exception {
public MyException ()
{
String message = "这个是myexception1的异常 你看见了么" ;
super(message)
}
}
类似于这样,当然了,这样的异常因为你同一个无参数的构造方法在同一个类中只有一个,如果你想定义10个默认了的异常抛出语句的类,那么你要自己写10这样的类了。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
虽然感觉到自己的有强大的处理错误和自己的学习的能力,但是看了好多的面试笔试的题目,我感觉都不行。
希望2012年找到自己希望的工作吧。