我開始使用實體框架4.3.1與代碼優先的方法。如何從System.Data命名空間捕獲異常?
我想避免應用程序崩潰時數據庫服務器關閉或不可用捕捉特定的異常。 想象一下這個代碼的短樣件:
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派生」。 如何使用實體框架捕獲大多數特定的異常? 謝謝你的幫助。
再試據http://msdn.microsoft.com/en-us/library/system.data.providerincompatibleexception.aspx從System.Exception派生。你有沒有嘗試過使用整個類路徑:'System.Data.ProviderIncompatibleException'? – MarcinJuraszek
名稱中有一個錯字:ProviderInco-patibleException' – Polynomial
@MarcinJuraszek你是對的。我沒有引用System.Data彙編 –