什麼是異常冒泡,並且在實時使用這個概念的同時,還有什麼需要使用異常冒泡? 我非常困惑與冒泡的例外,爲什麼因爲我經歷了很多網站沒有給出明確的想法,並且我對差異是什麼也有疑問。 b/w捕捉;抓住e;異常在.net中冒泡
回答
如果您在代碼中未捕獲到異常,它將傳播給調用者。通常情況下,這絕對沒問題:你應該捕獲所有的異常 - 事實上,對異常最常見的反應是「讓它不斷升級」。由於這個原因,finally
是更常見的catch
在很多代碼(資源xleanup) - 雖然using
甚至比finally
更普遍。
至於catch
vs catch(Exception e)
- 第二種形式捕獲特定的一組異常類型(在本例中爲Exception
和任何子類),並提供對異常進行檢查的權限。這可能是因爲您想要檢查異常的特定屬性(例如,SQL錯誤代碼),或者因爲您想使用原始異常引發自定義異常作爲InnerException
。例如:
catch(AwesomeException e) {
if(e.Something)
throw new CrazyException(" oops", e);
throw; // else rethrow the original
}
注意,在.NET 1.1中,它也有可能是一些例外不Exception
秒 - 在C++中,你可以扔什麼 - 然而,.NET 2及以上的修復此(除非你明確地禁用它)通過在包裝中包裝非Exception
異常。
如果你有一個代碼,與我分享,也給一個實時的例子,這樣我就可以使用它 – VinodKumar 2014-09-20 15:55:24
請解釋我仍然不清楚異常冒泡 – VinodKumar 2014-09-20 16:08:48
@Vinod Foo()調用Bar()調用Blap() 。 Blap拋出異常。 Bar不會嘗試捕捉異常(或捕獲它並重新拋出異常) - 所以Foo會得到異常。一直到有人處理這個異常,或者它到達一個線程的頂部,並且終止這個過程。 – 2014-09-20 16:23:19
- 1. 異常不冒泡
- 2. MonoMac異常不冒泡
- 3. 多線程異常冒泡
- 4. 讓一個異常冒泡
- 5. AngularJS $ http承諾異常不冒泡
- 6. c#如何防止異常冒泡
- 7. 冒泡排序拋出異常
- 8. 如何允許異常在rspec請求規範中冒泡
- 9. 如何防止異常在C#中冒泡?
- 10. 在java中使用冒泡排序時空指針異常
- 11. 如何在庫實現中冒泡/處理C#異常
- 12. 冒泡()在Java
- 13. 冒泡
- 14. 冒泡
- 15. MassTransit消費者中的異常冒泡Windows服務崩潰
- 16. 多播OnExceptionAspect正在記錄冒泡異常
- 17. 冒泡排序使用冒泡
- 18. 在javascript中單擊事件冒泡或失敗冒泡
- 19. Mouseform在winforms中冒泡?
- 20. 從C++/clr冒泡錯誤到c#/ .net
- 21. .NET用戶控件事件冒泡
- 22. ASP.Net頁面方法異常不會冒泡?
- 23. 如果發生異常,我應該舉起還是冒泡?
- 24. 嘗試冒泡排序時發生空指針異常排序
- 25. 處理的果園異常仍然冒泡
- 26. 可以將異常冒泡到堆棧頂部嗎?
- 27. 從父構造函數冒泡的異常
- 28. EXIT_FRAME冒泡?
- 29. 冒泡事件。
- 30. 冒泡排序
我仍然懷疑我們會在哪裏使用這個概念,是好還是壞? – VinodKumar 2014-09-20 17:59:10