如何编写抛出多个已检查异常的UserException

时间:2011-04-16 12:18:57

标签: java exception-handling

如何编写一个可以抛出多个已检查java异常的UserException类? 我应该延长Throwable类吗? 如果你能给我一个简单的演示,抛出两个例外,那会更好。 这个问题的主要目的是我想减少不。我的代码中的try和catch块语句。

3 个答案:

答案 0 :(得分:0)

每个线程最多只能有一个异常当前正在抛出但尚未被捕获。告诉我们你想做什么的完整故事,否则我们必须猜太多。

答案 1 :(得分:0)

Roland是对的,一种方法只能抛出一个例外。

也许您正在寻找异常层次结构?

答案 2 :(得分:0)

有一种方法可以抛出“多个例外”。你可以抛出一个包含在另一个中的Exception,如下所示:

throw new UserException(new SomeException());

捕获时,捕手可以找到原因:

catch (UserException e) {
    Exception cause = e.getCause(); // cause is an instance of SomeException
}

这样,捕手可以访问这两种例外情况。

UserException定义为扩展例外:

public class UserException extends Exception {

    private UserException(String message, Throwable cause) {
        super(message, cause);
    }

    private UserException(Throwable cause) {
        super(cause);
    }
}