2

我有一个 ASP.NET (Webforms) 项目,使用实体框架企业库进行异常处理/日志记录。保存到数据库时处理异常的最佳实践是什么。

我是否应该只使用异常处理块配置企业库来处理所有异常。或者我应该用try/catch包围每个保存语句并在每个 catch 语句中处理异常。我希望这是有道理的。

4

3 回答 3

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);
        }
    }
}
于 2012-07-18T12:53:26.697 回答
0

有了轮子,就没有必要重新发明轮子。企业库是处理异常的好方法。

于 2012-07-18T12:51:42.253 回答
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
于 2012-07-18T13:00:39.280 回答