2010-09-17 71 views
1

當一個人說允許異常向上傳播給客戶端時,這是什麼意思
它是如何工作的?異常傳播

回答

3

'客戶端'是代碼正在調用遇到異常的問題的方法。你可以在方法中處理它,或者如果你不處理它,調用者會得到這個異常。如果它不處理它,它將繼續向上調用方法調用堆棧,直到它到達Main(),並且沒有處理它(或一些等價物),導致未處理的異常處理程序步入。

「The Client」那麼無論用什麼機制來向用戶顯示「友好」的錯誤,無論是網頁還是winform等。

1

未捕獲到的異常將導致方法提前結束在時間。如果封閉方法沒有捕獲到異常,那麼它也會發生。這一直持續到執行返回到Main方法,此時應用程序自己死亡並向Windows報告異常。

1

當引發異常時,框架期望它被處理。它將查看調用堆棧中的當前調用。如果沒有合適的捕捉,它會將呼叫堆棧向上移動到當前呼叫的主叫方。如果沒有適當的捕獲,它將再次上升到一個水平。它將繼續這樣做。如果它進入程序的頂部入口點,那麼整個程序將崩潰,客戶端顯然會看到該程序。