Prevent Visual Studio from breaking on unhandled exceptions

三世轮回 提交于 2019-12-30 17:27:10

问题


I have a set of NUnit tests (running using the Resharper test runner), and some of those fail due to assertion exceptions happening in background threads; and when this happens VS2017 breaks into the debugger, what is undesirable as I want it to keep on running other tests.

  1. All the settings in "Exception Settings/CLR/Thrown" are turned off.
  2. The "User-Unhandled" settings in that dialog aren't present whether I switch the "Just My Code" option on or off
  3. All the "Exception Settings/Managed Debugging Assistants" settings are turned off.

Any other ideas how to prevent it from breaking on those exceptions?


回答1:


The first thing I'll mention is that assertion exceptions shouldn't be propagating out of your testing framework. If they are, then it could be because of some sneaky code that I can't conceive of. In other words, all assertion exceptions are inherently "handled", because your test framework will handle them for you.

There is also a concept of running vs. debugging a test. If your intention is to simply ignore all exceptions everywhere in your tests, then you should just choose to run - and VS will not attach the debugger at all (and then can't break). I don't know what this difference looks like in resharper's test runner, but in VS it's under the Test > Run and Test > Debug menu respectively.

If you can't re-architect your tests, and you want to be debugging other exceptions (just not assertion exceptions) or you want to hit break points, read the following:

By default, the new debugger (2015+) will break when an exception is un-handled - but you can turn this behaviour off for all exceptions or just a specific one.

  1. Open the exception settings window (Debug > Windows > Exception Settings)
  2. Right click on "Common Language Runtime Exceptions" (or the specific exception you want to change)
  3. In the right click menu click "Continue When Unhandled in User Code".

You should now see a the text "Continue when unhandled in user code" on the right hand side of the window under the "Additional Actions" column and VS should no longer break.




回答2:


Apparently, this was a bug in Visual Studio. Installing the later updates has fixed it.



来源:https://stackoverflow.com/questions/48140933/prevent-visual-studio-from-breaking-on-unhandled-exceptions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!