Rider能否设置指定位置抛出异常时不触发调试中断?
Rider 对指定位置异常忽略调试中断的支持说明
Rider 原生提供该能力,无需安装第三方插件,完全可以实现「仅忽略特定文件抛出的指定类型异常、其余位置同类型异常正常触发调试中断」的效果,和Visual Studio的对应功能对等。
配置步骤
打开异常断点配置页
调试状态下可通过任意一种方式进入配置界面:
- 点击底部调试工具栏的
View Breakpoints(双断点样式图标),切换到Exception Breakpoints标签页 - 使用快捷键快速唤起:Windows/Linux 按
Ctrl+Alt+F4,macOS 按Cmd+Alt+F4
设置过滤规则
- 在异常列表中定位到目标异常类型,比如示例中的
NullReferenceException。不要直接取消该异常的全局勾选,否则会全局忽略所有该类异常,无法实现分位置过滤。 - 右键点击对应异常条目,根据自己使用的Rider版本选择过滤方式:
- 2023.2及以上版本:选择
Filters选项,在弹出的可视化配置面板中,直接添加需要排除的文件路径、命名空间或方法名即可,不需要手写代码表达式。 - 所有版本通用方式:选择
Condition选项,条件类型选择对应开发语言的表达式模式(比如C#项目选C# expression),输入过滤规则:
如果项目内存在同名文件,可以替换为更精确的相对路径片段避免误匹配,比如!stackTrace.Contains("Calculator.cs")!stackTrace.Contains("MyProject/Utils/Calculator.cs")。需要同时排除多个文件时,用&&拼接判断条件即可。
- 2023.2及以上版本:选择
- 保存配置后立即生效。
配置完成后,调试器遇到Calculator.cs内抛出的NullReferenceException时不会触发中断,其他位置抛出的同类型异常会正常拦下进入调试流程,和Visual Studio的功能效果完全一致。
内容的提问来源于stack exchange,提问作者Korfu
相关产品推荐
相关产品推荐

