如何从系统数据命名空间捕获异常



我开始使用带有代码优先方法的实体框架 4.3.1。

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

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

当服务器关闭时,我收到提供程序不兼容异常。如果我尝试像这样修改代码捕获提供程序不兼容异常

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

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

类名中有拼写错误 - 您错过了不兼容中的"m"。

使用ProviderIncompatibleException重试

最新更新