C#,捕获异常

标签 c# 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");
}

并且代码只写“否”。

如何在到达异常之前捕获 EntityException?

谢谢

最佳答案

如果在该文件或命名空间的当前 using 语句集中没有定义另一种 EntityException 类型,您拥有的代码应该可以正常工作。

尝试完全限定类型,如下所示:

try{
...
}catch(System.Data.EntityException a){
  // need to do something
  log.Error("I got it!");
}catch(Exception e){
  log.Error("No");
}

关于C#,捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12499054/

相关文章:

c++ - 如何从 std::exception 动态转换为 std::nested_exception?

c++ - 将数据流式传输到 C++ 异常类中是否存在任何危险?

c# - 如何使用 C# decimal 计算子数组总和的百分比,使它们的总和严格为 100

c# - 如何为我的 asp.net MVC 站点的每个访问者添加 cookie?

c# - WebApi任务由于系统缺少足够的缓冲区空间或队列已满,无法对套接字执行操作

c# - C# 中的哈希密码和盐密码

java - 抛出异常是否涉及新的不同线程?

c# - 继承 Exception 类以记录所有后续发生的异常

java - 抛出意外的令人困惑的错误

c# - 没有从 CustomObject 到 System.IConvertible 的隐式转换