现在的做法:发生一个异常在逻辑层拦截,记录到数据库中,再抛出自定义异常。为了偷懒所以都是Exception,代码如下:
catch (Exception ex)
{
Log4.Debug(ex);//EntLog.WriteText(ex);
throw new Exception("ArticleBll AddArticle throw Exception");
}
始终觉得不太妥当,大家有好经验,请赐教!
Log4.AsyncDebug(ex);
不用等待写日志的结果.
你的日志系统需要提供这样的功能,类似MSMQ的能力.
记录时可以对ExceltionType进行归纳统计,并根据不同的类型提示相应的友好错误提示,而不是把原始错误抛给用户。
在不确定异常类型时,只能这样做。
Log4.Debug(ex); 再抛出异常呢?