首页 > 其他 > 详细

抛出多个异常

时间:2016-07-20 22:58:07      阅读:217      评论:0      收藏:0      [点我收藏+]

java编程思想这本书上的一道练习题,题目是:定义三种新的异常类型,写一个类,在一个方法中抛出三种异常,在main中调用这个方法,仅用一个catch捕获三个异常

public class CatchMultiException {
 
    public static void main(String[] args) throws Exception {
        try {
            test(2);
        catch (Exception e) {
            if (e instanceof TestAException || e instanceof TestBException
                    || e instanceof TestCException) {
                e.printStackTrace();
            else {
                throw e;
            }
        }
    }
 
    public static void test(int a) throws TestAException, TestBException,
            TestCException {
        if (a == 0) {
            throw new TestAException();
        }
        if (a == 1) {
            throw new TestBException();
        }
        if (a == 2) {
            throw new TestCException();
        }
    }
}
 
class TestAException extends Exception {
    private static final long serialVersionUID = 1L;
}
 
class TestBException extends Exception {
    private static final long serialVersionUID = 1L;
}
 
class TestCException extends Exception {
    private static final long serialVersionUID = 1L;
}
 
 
 
--------------
如果使用 JDK 7 的话,还可以这样:
    public static void main(String[] args) {
        try {
            test(2);
        catch (TestAException | TestBException | TestCException e) {
            e.printStackTrace();
        }
    }

 

转自:

http://bbs.csdn.net/topics/370216093

抛出多个异常

原文:http://www.cnblogs.com/autumnlj/p/5689835.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!