设置异常时中断

在开发过程中,经常出现以下情况:

  • 为了程序在遇到异常时不终止,使用try…catch进行异常捕获并记录日志。这导致在调试时还需要结合日志进行查看(不是很理解为什么会这样做,程序出现严重错误就应该让其终止,并将错误报告发送到指定服务器以进行bug修复才是正确的决定)
  • 代码会对异常进行吞噬,导致发生异常时不报错,这会使的异常既不会被处理也不会被记录,在程序运行状态不对时,难以发现问题。(此为大坑啊)

故在调试时,暴露出这些异常显得尤为重要。那么如何设置呢?
打开VS的异常设置窗口,勾选全部:
这里写图片描述
程序便会在Debug模式下遭遇到所有异常时进行终止。(经实验,即使进行了以上设置,Release下try…catch并不会终止进程)。
当需要恢复默认设置的时候,只要点击”异常设置”窗口中最上方最右边那个按钮即可。

### 如何在 Visual Studio 2010 中配置异常中断设置 在 Visual Studio 2010 中,可以通过调整调试器的异常设置来实现当发生特定异常或所有异常中断的功能。以下是具体的配置方法: #### 配置异常中断 打开 **“异常设置”** 对话框的方式有两种: 1. 在菜单栏中依次点击 `Debug` -> `Exceptions...` 打开异常设置对话框[^1]。 2. 或者通过快捷键组合 `Ctrl+Alt+E` 快速访问。 在弹出的 **“Exception Settings”** 窗口中,可以看到多个分类的异常列表(如 Common Language Runtime Exceptions)。对于每种类型的异常,可以择以下两种行为之一: - **Thrown** 列对应的复框:这会使调试器在抛出该类别的任何异常都暂停程序执行,即使这些异常被后续代码捕获也不会影响中断操作。 - 默认情况下只有未被捕获的异常才会引发中断,即保持 **User-unhandled** 的状态不变即可满足一般需求。 此外,如果需要针对更具体的情况定制化处理,则可以展开各主要类别下的子项逐一设定其行为特性[^1]。 #### 实际应用场景举例说明 假如开发者希望监控所有的 NullReferenceException 并即定位问题源头而不必等到最终崩溃刻才发现错误的话,就可以按照前述步骤找到 System.NullReferenceException 这一项并将它的 Thrown 复框打钩启用起来[^1]。 ```csharp try { object obj = null; string value = (string)obj; // 此处会产生NullReferenceException } catch(Exception ex){ Console.WriteLine(ex.Message); } ``` 尽管上述例子中有 try-catch 结构包围着潜在风险区段,但由于我们在 Exception Setting 中提前设定了对 NullReferenceException 的敏感度调高至只要一出现就要打断继续流程的地步,因此即便存在有效的异常处理器也不能阻止 IDE 自动介入分析过程[^1]。 ### 注意事项 值得注意的是,一旦设置了某些常见但频繁发生的警告级别较低的小型异常也要强制停止工作流可能会显著降低整体效率甚至干扰正常测试进展节奏,所以建议谨慎挑那些确实值得特别关注的重要事件类型加以单独定义特殊规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值