如何編寫可拋出多個檢查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. IntelliJ檢查 - 非拋出的異常
- 5. 拋出已檢查的異常
- 6. 如何從java線程拋出一個檢查異常?
- 7. 拋出一個新的異常拋出一箇舊的異常
- 8. 魔術異常拋出拋出異常
- 9. 查詢過拋出異常
- 10. JPA查詢拋出異常
- 11. JVM如何「拋出」異常
- 12. 如何拋出異常
- 13. Java - 如何檢查拋出哪種異常類型?
- 14. 如何檢查函數是否在c#中拋出異常?
- 15. 在Java中拋出多個異常
- 16. 在JavaScript中拋出多個異常
- 17. 通過多個進程拋出異常
- 18. 多個異常拋出函數的異常處理實踐
- 19. 向文件寫入拋出的異常
- 20. 異常拋出異常
- 21. 拋出異常
- 22. 拋出異常
- 23. 拋出異常
- 24. 異常拋出
- 25. 如何檢查和拋出一個異常,如果在JSON文件中存在
- 26. string.Join拋出一個異常
- 27. Tkinter.StringVar()拋出一個異常
- 28. 捕捉多個異常並拋出異常
- 29. 重寫方法不會拋出異常時的異常處理
- 30. 上次拋出的異常包含以前拋出的異常?