[英]C#, Catch Exception
我使用了一個Exception類型
catch(Exception e){
log.Error(e.GetType()); // it write 'System.Data.EntityException'
}
所以我改變我的代碼以捕獲該異常,
try{
...
}catch(EntityException a){
// need to do something
log.Error("I got it!");
}catch(Exception e){
log.Error("No");
}
並且代碼只寫“否”。
如何在達到Exception之前捕獲EntityException?
謝謝
如果在該文件或命名空間的當前使用語句集中沒有定義另一個EntityException
類型,那么您所擁有的代碼應該可以正常工作。
嘗試完全限定類型,如下所示:
try{
...
}catch(System.Data.EntityException a){
// need to do something
log.Error("I got it!");
}catch(Exception e){
log.Error("No");
}
我遇到了同樣的問題,這里接受的答案對我不起作用。 雖然EntityException完全限定為System.Data.EntityException,但它實際上在System.Data.Entity程序集中(請參閱http://msdn.microsoft.com/en-us/library/system.data.entityexception(v=vs。 110).aspx ),因此在Intellisense識別代碼中的System.Data.EntityException之前,項目需要引用System.Data.Entity。
匹配異常的第一個“catch”是激活的那個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.