自從第1天起,我一直在爲此而苦惱。它可能並沒有幫助我已經被很多代碼所包圍,甚至根本不處理錯誤。如何正確處理n層應用程序中的錯誤?
無論如何,我正在使用傳統的n層設計中的WebForms:UI-> BLL-> DAL。通常我所做的(我知道這是不對的)是嘗試/捕獲我的數據操作。如果有一個例外,我只是簡單地將它拋出泡沫。
try
'db operations
catch ex as exception
throw
finally
'close connections
end
因此,然後它泡到BLL和在那裏我會記錄錯誤的另一個try/catch。現在我想提醒用戶有什麼不對,所以我再次拋出它,這樣它就會冒泡到用戶界面。在用戶界面層面,我會在try/catch中換行,如果出現錯誤,我會向他們顯示一條友好的消息。
你的想法是什麼?我能在這裏做些什麼?
但是,如果在DAL中發生錯誤,沒有我不得不關閉,以防止泄漏的連接? – Mike 2009-09-30 12:13:23
只需將連接/命令對象放入使用{}塊 – 2009-09-30 12:22:06
如果您正在使用「使用」語句,則無需顯式**嘗試/捕獲DAL。在封面下方,「使用」將會用try/finally封裝你的連接/命令,並在最後關閉它們。 – 2009-09-30 12:36:12