一直没怎么用异常处理,现在准备在项目里面加上log4net,希望各位告诉下,何时用最好,昨天用到数据层去,感觉不怎么对

解决方案 »

  1.   

    异常可以分为系统异常和业务异常,业务异常必须被转化为业务执行的结果 
    DataAccess层不得向上层隐藏任何异常 
    要明确区分业务执行的结果和系统异常。比如验证用户的合法性,如果对应的用户ID不存在,不应该抛出异常, 
    而是返回(或通过out参数)一个表示验证结果的枚举值,这属于业务执行的结果。但是,如果在从数据库中提取用户信息时,数据库连接突然断开,则应该抛出系统异常 
    BL层应根据业务的需要捕获某些系统异常,并将其转化为业务执行的结果 
    UI层除了从调用BL层的API获取的返回值来查看业务的执行结果外,还需要截获所有的系统异常,并将其解释为友好的错误信息呈现给用户 
    一般使用log4net实现日志记录和自定义异常处理