try...catch...會損耗一定的效能,但不會造成效能瓶頸。
建議使用try...catch。
盡可能的考慮到可能存在的異常並進行處理,盡可能的少出現異常或不出現異常。
不要濫用資料庫事務提高效能,這樣可能會造成併發訪問的效能問題或效能瓶頸。
不要使用try...catch進行流程處理。
如果可能的話,盡量要把迴圈寫在try...catch內部,而不要把try...catch放到迴圈內部。
如果是try...catch中套著try...catch,異常處理機制是從內部的try...catch...往外部拋的,最先是在內部進行捕獲、處理。
個人總結:
try......catch
1.在分層的結構中,使用的是方法的巢狀呼叫,異常處理的機制是從底層向上層的順序丟擲(即由內向外),直至到最外層的page頁面。最後呈現到客戶端,其實只要在最外層做異常處理就可以了。不是必須每層都做異常處理。
例如 ui層:
bll層:
dal層:
按dal-->bll-->ui順序丟擲,最後交給page主程式呈現到client,其實正常呼叫返回結果的順序是一致的。
如下圖:
結構化異常
try,catch,finally catch中的 是對異常的恢復操作。比如有狀態的恢復,回滾。finally是做一些清理工作。foreach,using,lock實際上就是轉換成try finally這種結構 finally中就是物件的清理,foreach是對inumerator.dispose ...
SEH結構化異常處理03
執行緒上的異常處理 異常處理函式原型 返回值有兩種 exceptioncontinueexecution異常已解決,exceptioncontinuesearch此seh未解決問題,繼續在seh鏈中搜尋 exception disposition cdecl except handler in st...
Windows核心程式設計 結構化異常處理
使用 結構化異常處理 seh 可以增加程式的健壯性,因為這個機制可以保證我們的程式在執行的過程中,如果出現了問題,系統會捕獲這個問題異常,並通知到程式,程式就可作相應的處理。seh包含兩方面的功能 終止處理和異常處理。終止處理程式的語法如下 try finally 其中,try段標記了被保護 fin...