码迷,mamicode.com
首页 > 其他好文 > 详细

抛出多个异常

时间:2016-07-20 23:00:50      阅读:336      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!