如何从System.Data命名空间中捕获异常?

时间:2012-06-06 15:00:34

标签: entity-framework exception-handling

我开始使用Entity Framework 4.3.1和代码优先方法。

我希望在数据库服务器关闭或无法捕获特定异常时避免应用程序崩溃。 想象一下这段简短的代码:

using (var db = new MyContext())
{
     var people = new People();
     db.People.AddObject(people);
     db.SaveChanges();
}

当服务器关闭时,我收到ProviderIncompatibleException。 如果我尝试修改像此一样捕获ProviderIncompatibleException的代码

using (var db = new MyContext())
{
     try
     {
         var people = new People();
         db.People.AddObject(people);
         db.SaveChanges();
     }
     catch(ProviderIncopatibleException)
     {
     }
}    

我收到编译器错误“捕获或抛出的类型必须从System.Exception派生”。 如何使用Entity框架捕获最具体的异常? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

班级名称中有一个拼写错误 - 你错过了“不兼容”中的“m”。

使用ProviderIncompatibleException

再试一次