一直没怎么用异常处理,现在准备在项目里面加上log4net,希望各位告诉下,何时用最好,昨天用到数据层去,感觉不怎么对
解决方案 »
- 问一个简单的问题,关于字段和属性的
- c#调用WINAPI的参数为out类型时,托管方式该怎么写?
- 本机当vss服务器的问题,求高手解难!
- 利用Windows API的SendMessage和PostMessage控制窗体
- 100分求一个简单的存储过程!!!!!!
- 关于WinForm中DataGrid的DataSet筛选后的刷新问题
- 如何实现使用c#.net 编写加密程序,防止有人将媒体的链接直接贴入播放器(Windows Media Player/RealPlayer)中播放??
- 求c#监视键盘按键的解决方法
- Win32Api:GetClassName 如何在C#中使用
- 无分呀!悲哉!
- 为什么 datatable2=datatable1.getchanges()会是空的?!
- 求助!!!委托+类+。。。问题奇怪 高手进!
DataAccess层不得向上层隐藏任何异常
要明确区分业务执行的结果和系统异常。比如验证用户的合法性,如果对应的用户ID不存在,不应该抛出异常,
而是返回(或通过out参数)一个表示验证结果的枚举值,这属于业务执行的结果。但是,如果在从数据库中提取用户信息时,数据库连接突然断开,则应该抛出系统异常
BL层应根据业务的需要捕获某些系统异常,并将其转化为业务执行的结果
UI层除了从调用BL层的API获取的返回值来查看业务的执行结果外,还需要截获所有的系统异常,并将其解释为友好的错误信息呈现给用户
一般使用log4net实现日志记录和自定义异常处理