如何在java中封装多个类?

时间:2014-07-22 09:52:56

标签: java exception

我有以下情况。

public void foo() throws BadFooException, IOException{
    try{
            ..........
    } catch(ArrayIndexOutOfBoundException e) {
            throw new BadFooException(e);
    } catch(ArithmeticException e) {
            throw new BadFooException(e);
    }
}

此处BadFooException是一个扩展Exception的类。但是我的愿望BadFooException只能抓住

ArrayIndexOutOfBoundException

ArithmeticException

不是其他例外。我总是抓住这两个异常并抛出我想要的异常。但有什么办法,所以只有这两个异常会自动抛出我想要的异常,但是其他异常会被单独抛出吗? 提前致谢。

1 个答案:

答案 0 :(得分:1)

你要问的很清楚...但是如果你想要结合几个例外,为了节省一些打字工作,你可以使用:

public void foo() throws CustomException1, OtherException {
    try {
        // stuff (that can throw Exception1, Exception2 and OtherException)
    } catch (Exception1 | Exception2 ex) {
        throw new CustomException1(ex);
    }
}

因此在它们之间有一个垂直条。

据我所知,没有更优雅的方法可以做到这一点。