如何编写可抛出多个检查java异常的UserException类? 我应该扩展Throwable类吗? 如果你能给我一个简单的例子说明抛出两个例外,那会更好。 这个问题的主要目的是我想减少不。在代码中尝试和捕获块语句。如何编写抛出多个检查异常的UserException
1
A
回答
0
每个线程最多可以有一个例外,那就是目前被抛出,尚未抓到。告诉我们你想做什么的完整故事,否则我们不得不猜测太多。
0
罗兰德是对的,一种方法只能抛出一个例外。
也许您正在寻找异常层次结构?
0
有一种方法抛出“多个例外”,有点。你可以抛出一个异常封装到另一个,就像这样:
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);
}
}
0
不要延长的Throwable。如果您希望它成为检查的异常,请扩展异常,如果您希望它成为未经检查的异常,请扩展RuntimeException。
我同意其他答案,可能你需要一个异常层次结构(查看IOExceptions是如何工作的,还有一个FileNotFoundException,它扩展了IOException,因此你可以捕获IOException并获取它们)。提供更多关于你想要的行为的信息。
相关问题
- 1. java抛出检查异常?
- 2. 如何检查c#编译器抛出的异常?
- 3. 检查哪个变量抛出异常
- 4. 如何检测CLR抛出的异常?
- 5. IntelliJ检查 - 非抛出的异常
- 6. 抛出已检查的异常
- 7. 如何从java线程抛出一个检查异常?
- 8. 如何检查哪个语句抛出异常?
- 9. 调用重写方法抛出经过检查的异常
- 10. Mockito拒绝抛出检查异常
- 11. Java - 检查是否parseInt抛出异常
- 12. 检查JUnit没有抛出异常
- 13. racketunit检查没有抛出异常
- 14. 为什么GenericObjectPool.addObject抛出检查异常
- 15. “未处理的检查异常的抛出异常”在Java中
- 16. 抛出一个新的异常抛出一个旧的异常
- 17. LINQ查询抛出抛出异常
- 18. Anularjs $编译抛出异常
- 19. 如何处理不可能抛出的已检查异常
- 20. 如何检查是否有任何异常已被抛出?
- 21. 魔术异常抛出抛出异常
- 22. 抛出异常抛出异常
- 23. 程序抛出异常后,我检查了异常
- 24. JVM如何“抛出”异常
- 25. 如何抛出异常
- 26. LINQ查询抛出异常
- 27. JPA查询抛出异常
- 28. 查询过抛出异常
- 29. Java - 如何检查抛出哪种异常类型?
- 30. 如何检查函数是否在c#中抛出异常?