Java中自定义Exception异常

Java中自定义的异常一般继承自Exception,这里就简单地说说。
先通过继承自定义异常类。

package cn.defineException;

//自定义异常:SeeWorld
public class SeeWorldException   extends Exception{
    public SeeWorldException(){

    }
    public SeeWorldException(String message){
        super(message);
    }
}

接着做几个测试类,在main方法中观察

package cn.defineException;

public class TestWorld {

    public void TestWorld1() throws SeeWorldException {
        throw new SeeWorldException("世界那么大,我想去看看。");

    }

    public void TestWorld2() {
        try {
            TestWorld1();
        } catch (SeeWorldException e) {
            RuntimeException re = new RuntimeException("你带上我,我带上钱。");
            re.initCause(e);
            throw re;
        }
    }

    /**
     * TestWorld1()抛出异常 TestWorld2()调用TestWorld1(),捕获异常,并包装成运行时异常。
     * main方法中调用TestWorld1(),尝试捕获TestWorld2方法抛出的异常
     * 
     * @param args
     */
    public static void main(String[] args) {

        TestWorld t = new TestWorld();
        try {
            t.TestWorld2();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

这样就好了:看结果

java.lang.RuntimeException: 你带上我,我带上钱。
    at cn.defineException.TestWorld.TestWorld2(TestWorld.java:14)
    at cn.defineException.TestWorld.main(TestWorld.java:30)
Caused by: cn.defineException.SeeWorldException: 世界那么大,我想去看看。
    at cn.defineException.TestWorld.TestWorld1(TestWorld.java:6)
    at cn.defineException.TestWorld.TestWorld2(TestWorld.java:12)
    ... 1 more
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值