自从第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