私は1日目からこれに苦労しました。おそらく、エラーを処理しないコードにも囲まれているとは限りません。n層アプリケーションのエラーを正しく処理する方法は?
とにかく、私はあなたの伝統的なn層設計のWebFormsで作業しています:UI-> BLL-> DAL。通常、私がしているのは(私はそれが正しいのではないことを知っています)私のデータ操作を試してみることです。例外がある場合は、単にそれを投げつけてバブルアップします。
try
'db operations
catch ex as exception
throw
finally
'close connections
end
それで、それはBLLまで泡立ち、私はエラーを記録する別のtry/catchがあります。今私は何かが間違っていることをユーザーに警告したいので、再びUIをバブルします。 UIレベルでは、try/catchでラップします。エラーがあれば、わかりやすいメッセージを表示します。
あなたの考えは?私はここで何ができますか?
DALでエラーが発生した場合、リークを防ぐために接続を閉じる必要はありませんか? – Mike
using {}ブロックに接続/コマンドオブジェクトを置くだけです。 –
「使用」ステートメントを使用している場合は、**明示的に** DALを試してみる必要はありません。カバーの下で、 "使用する"はあなたの接続/コマンドをtry/finallyでラップし、最後にそれらを閉じます。 –