日期:2014-05-20  浏览次数:20735 次

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

------解决方案--------------------
这样就可以了:

Java code
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;
}

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