我有一个ASP.NET(Webforms)项目,使用实体框架和企业库进行异常处理/日志记录。在保存到数据库时处理异常的最佳做法是什么?
我是否应该使用异常处理块配置企业库来处理所有异常。或者我应该用 try / catch 包围每个保存语句,并在每个catch语句中处理异常。我希望这是有道理的。
答案 0 :(得分:2)
您应该始终根据应用程序业务逻辑处理已知的预期异常,否则让它去,让企业库记录它。
另一个经验法则是,如果处理了异常,将应用程序状态/流程分解为意外状态,应该让它失败。
示例:强>
class Programs
{
static void Main(string[] args)
{
try
{
Print_String(null);
}
catch (System.ArgumentException ex)
{
Console.WriteLine("{0}", ex.Message);
}
//catch (Exception ex)
//{
//no no
//}
Console.ReadLine();
}
private static void Print_String(string str)
{
if (str == null)
{
throw new ArgumentNullException("str");
}
else
{
Console.WriteLine(str);
}
}
}
答案 1 :(得分:0)
当有车轮时,无需重新发明车轮。企业库是处理异常的好方法。
答案 2 :(得分:0)
页面级异常
Add a Page_Error() method to your page and handle the exceptions here
应用程序级别异常:
Add your code in the global.asax event Application_Error() to manage exceptions