java 基础(1) 自定义的异常处理

有时候,我们要自己定义异常处理的类,如下:

 

异常分两种,一张是运行时的异常  还有一个是不是运行时期的异常。

 

总的父类异常是 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年找到自己希望的工作吧。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值