我想我的Java腳本拋出,如果有任何異常。問題是,我們在腳本中擴展了一個超類,但是在這個超類中,有一個被稱爲ScriptFailureException
的異常,超類在JAR中,我們無法編輯。我們希望阻止該異常被捕獲。是否有可能防止這種異常被捕獲,或者是否有其他方法可以使我們的腳本在這種情況下失敗。我嘗試了System.Exit()
等方法,但他們不工作。我們通過TestNG運行我們的腳本。如何解除捕獲的異常
回答
沒有,除非超類讓你知道ScriptFailureException
發生的方式不是拋出它。其他方式之一可以是例如方法調用的空返回值。
dat的wat我們現在正在做。意味着,沒有任何其他解決方案?????? – Dinesh
首先,Java不是腳本語言,沒有腳本的概念。您不應該使用術語腳本,而是使用術語「類」,「方法」,「程序」。
要回答你的問題,如果一個方法捕獲到一個異常,那麼這個異常就會被捕獲,而你無法對它做任何事情。不過,您可能會拋出另一種不會被超類方法捕獲的異常類型。
我們正在使用的dat,但如果沒有抓到腳本或類不會因異常而失敗??? – Dinesh
Jar代碼捕獲異常時會採取什麼操作?您可以在事件發生後檢測到該行爲嗎?例如,如果Jar代碼寫入日誌,那麼您可以檢查日誌以查看該異常是否記錄在那裏,然後拋出您自己的新異常。
我們現在正在做的dat的wat。意味着,沒有任何其他解決方案????? – Dinesh
您可以通過拋出一個錯誤使Java完全失敗。
throw new Error("Oh dear");
雖然這很混亂。
嘗試定義自己的異常並拋出。
public class CustomException extends Exception { }
// somewhere else
throw new CustomException("Some detail");
亞我們已經做了任何其他解決方案?????? – Dinesh
一個小技巧就是聲明ScriptFailureException
爲RuntimeException
的延伸,我認爲,這不是做代碼的最佳方式,但它的工作原理。 RuntimeException
對象不需要顯式的try/catch塊。
然後,您必須聲明class StcriptFailureException extends RuntimeException
商祺!
如果庫定義了ScriptFailureException本身,則這不起作用。 –
是的。我同意你。我沒有很好的閱讀這部分的問題。在這種情況下,我認爲他可以捕捉到異常並將其他無法克服的異常(自定義異常)拋入catch塊。 – Charliemops
任何其他技巧? – Dinesh
- 1. 如何在異常中捕獲異常?
- 2. 如何捕捉「未捕獲的異常」?
- 3. 如何捕獲此異常
- 4. 如何捕獲Interop異常?
- 5. 如何捕獲substr異常?
- 6. 如何捕獲entitydatasource異常
- 7. 如何捕獲ReactiveCommand異常?
- 8. 如何捕獲jquery異常?
- 9. 如何捕獲CheckInvalidPathChars()異常
- 10. 如何捕獲UrlFetchApp.fetch異常
- 11. 捕獲異常
- 12. 捕獲異常
- 13. 捕獲異常
- 14. 異常捕獲
- 15. 理解捕獲檢查的異常
- 16. 如何捕獲JSON.parse()的異常?
- 17. 如何「捕獲」未處理的異常
- 18. Android XML解析器異常捕獲
- 19. 將捕獲異常捕獲該異常的父類
- 20. 除了塊不捕獲異常在Python
- 21. GDB。只捕獲不捕獲的異常
- 22. 何時以及如何捕獲異常
- 23. 如何解決這個未捕獲的異常錯誤
- 24. 「不要捕獲通用的異常!」但如何解開它們?
- 25. 如何解決未捕獲的異常:標題簽名
- 26. JUnit異常捕獲
- 27. 捕獲log4net異常
- 28. 捕獲空異常
- 29. XML異常捕獲
- 30. 捕獲iframe異常
將ScriptFailureException包裝到另一個異常對象中怎麼樣? – Matten
JavaScript還是Java?什麼腳本?什麼Java?這個問題很混亂。 –
好吧,我猜你的意思是*代碼*而不是*腳本*,因爲這使問題變得有意義。 –