我有一个 ASP.NET (Webforms) 项目,使用实体框架和企业库进行异常处理/日志记录。保存到数据库时处理异常的最佳实践是什么。
我是否应该只使用异常处理块配置企业库来处理所有异常。或者我应该用try/catch包围每个保存语句并在每个 catch 语句中处理异常。我希望这是有道理的。
我有一个 ASP.NET (Webforms) 项目,使用实体框架和企业库进行异常处理/日志记录。保存到数据库时处理异常的最佳实践是什么。
我是否应该只使用异常处理块配置企业库来处理所有异常。或者我应该用try/catch包围每个保存语句并在每个 catch 语句中处理异常。我希望这是有道理的。
您应该始终根据您的应用程序业务逻辑处理已知的预期异常,否则放手让企业库记录它。
另一个经验法则是,无论是否处理了异常,都会将您的应用程序状态/流程中断为意外状态,您应该让它失败。
例子:
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);
}
}
}
有了轮子,就没有必要重新发明轮子。企业库是处理异常的好方法。
页面级异常
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