回答
在Java和.NET,如果你不處理異常,將最想引起你的程序終止。
簡單地拋出一個異常不會終止程序,因此。它在被拋出後會發生什麼,決定了會發生什麼。
不,它不必導致它終止。您可以捕獲異常並執行一些有用的操作,例如向用戶顯示發生錯誤的消息以及原因。
未能捕捉到異常可能會導致程序終止,但拋出一個不會。至少,任何應用程序都應該具有某種最後一道防線,以捕獲所有其他未處理的異常並處理它們(即使處理這些異常意味着至少在某些情況下將它們拋出應用程序並終止,因爲某些外部應用程序應用程序期望這一點)。
只有「未處理的異常」會導致程序崩潰。要處理異常,請使用以下格式
try {
// May Throw ApocalypseException
functionThatMightBlowUpTheWorld();
}
catch (ApocalypseException e){
System.err.println("We accidentally almost blew up the world because: ");
System.err.println(e.message);
}
等等......這段代碼來自維基解密嗎?我認爲這不應該被釋放,**永遠**!大聲笑 – 2010-12-20 21:07:48
我喜歡提出有趣的例子。 :)但是,如果您在離心機的微控制器上遇到問題,我不負責。 – EnabrenTane 2010-12-20 21:16:25
它取決於拋出異常的線程以及在應用程序中同時運行的其他線程。
一個未捕獲異常終止它被拋出的線程。如果剩下的線程只是守護進程線程,那麼是的,應用程序將被終止。
根據Thread.setDaemon(boolean)文檔:
Java虛擬機退出時正在運行的線程都是守護線程。
- 1. 終止拋出異常
- 2. 異常拋出終止腳本?
- 3. iOS應用程序在UITableViewDataSource方法拋出異常後終止
- 4. 如何在不終止程序的情況下拋出異常
- 5. 拋出異常終止Spring應用程序啓動
- 6. 什麼會導致程序異常終止?
- 7. 異常終止程序?
- 8. 異常:終止調用拋出異常sharedlibrary apply-load-rules全部
- 9. 致命異常:java.lang.IllegalStateException:致命異常在Scheduler.Worker線程上拋出
- 10. 代碼調用終止而不是拋出異常
- 11. 是否彈出拋出異常?
- 12. 由於溢出導致進程終止
- 13. 拋出一個始終鏈接的異常是否有意義?
- 14. 正確地拋出你自己的異常(使它不終止你的程序)
- 15. SQLiteConnection.Open()終止Windows窗體應用程序而不會拋出異常
- 16. 是否有異常拋出One方法會導致通道故障?
- 17. setComponentEnabledSetting導致異常,它可能會終止當前的應用程序?
- 18. 確定CoreApplicationView.GetCurrentView()是否會拋出異常?
- 19. 從CoerceValueCallback拋出異常是否合適
- 20. Python程序終止處理異常
- 21. 內存異常是否會導致NullPointerException?
- 22. 魔術異常拋出拋出異常
- 23. 程序異常終止,如果輸入是非常大的
- 24. WiX light.exe拋出導致溢出異常的算術運算
- 25. c#終結器拋出異常?
- 26. 異常拋出終於和catch塊
- 27. 序列化異常是可拋出的
- 28. 是否明確拋出異常向上拋出?
- 29. Servlet調度程序拋出異常
- 30. 終止拋出out_of_range
在什麼語言/環境下? – OrangeDog 2010-12-20 20:51:50
語言:在Java – 2010-12-20 20:53:45