如何在Visual Studio中始终仅针对Unhandled Exception中断,忽略Handled Exception
Visual Studio 托管C#调试异常配置方案
核心目标
确保调试时:
- 所有类型的Unhandled Exception(未被Try/Catch捕获)触发中断并弹出异常信息窗口
- 所有类型的Handled Exception(被Try/Catch捕获)完全无提示、不中断
- 单元测试(MSTest)与其他调试场景使用同一套配置
步骤1:打开异常设置窗口
使用快捷键 Ctrl+Alt+E,或通过菜单路径:调试 → Windows → 异常设置 打开配置面板。
步骤2:配置Unhandled Exception中断规则
- 展开「Common Language Runtime Exceptions」节点(针对托管C#代码)
- 找到面板中的「Unhandled」列:
- 勾选所有类型的Unhandled Exception对应的复选框(确保任何未被捕获的异常都会触发中断)
- 找到面板中的「Thrown」列(对应Handled Exception):
- 取消所有类型的Handled Exception对应的复选框(避免被捕获的异常触发中断)
步骤3:配置异常提示规则
进入菜单:工具 → 选项 → 调试 → 常规,调整以下设置:
- 勾选「当抛出Unhandled Exception时显示异常助手」(确保弹出异常信息窗口)
- 取消勾选「当抛出Handled Exception时显示异常助手」(禁止被捕获的异常弹出提示)
- 取消勾选「启用仅我的代码」(避免VS跳过框架级的Unhandled Exception中断)
步骤4:统一单元测试(MSTest)场景配置
进入菜单:工具 → 选项 → 调试 → 测试:
- 取消勾选「为测试启用单独的调试设置」(确保MSTest使用和普通调试一致的异常规则)
步骤5:备份配置防止VS自动重置
在「异常设置」窗口点击右上角的齿轮图标(设置按钮):
- 选择「导出设置」,将当前配置保存为
.vssettings文件 - 若后续VS出现异常配置漂移,可通过「导入设置」快速恢复
内容的提问来源于stack exchange,提问作者Patrick Karcher
相关产品推荐
相关产品推荐

