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