C# 尝试/捕捉噩梦

标签 c# exception

我有一个类似代码的应用程序(不是我写的)

try
{
    EnumerateSomeCoolHardwareDevice();
}
catch (Exception ex)
{

} 

更新 - 这是 .NET C# 和 EnumerateSomeCoolHardwareDevice() 正在使用 SerialPort?

我知道这段代码有多糟糕,但它能像这样工作是有原因的!

我的问题是:我可以看到它在 EnumerateSomeCoolHardwareDevice() 的某个地方崩溃了;但它不会被 Catch (...) 捕获 - 它只是在发送报告对话框中崩溃!这目前也只发生在发布版本中...他们是否有任何原因导致我的异常不会被 catch (...) 捕获?

最佳答案

我的猜测是您在您的语言/框架中没有得到异常,而是 EnumerateSomeCoolHardwareDevice() 做了一些奇怪的事情,这些事情只会导致操作系统终止您的进程。请记住,硬件细节是通过 Java 和 .NET 等框架抽象出来的,因此无论何时直接对硬件进行操作,您都可能依赖非托管资源……无论出现什么问题都可能要了你的命,不管你是否被抓到。

关于C# 尝试/捕捉噩梦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1879830/

相关文章:

c# - 根据数据库查找表中的值自动创建枚举?

c# - 在字符串中实现重复字符删除的最快方法 (C#)

c# - WCF 中 DataMember 的名称属性看起来不起作用

java - : No result type specified for result named 'success' ,导致的可能是父包没有指定结果类型?

c# - 重命名 ASP.NET Identity 表时出现重复的外键

javascript - 单击按钮后停止页面回发

json - Azure Durable Functions我应该如何处理TaskFailedExceptionDeserializationException

java - CQ5 无法更新过时的项目 : item. save() javax.jcr.InvalidItemStateException : Unable to update a stale item: item. save()

php - 查询不同服务器上的数据库

java - 不匹配异常问题