Please fix the Exception setting for when an exception should break into the debugger
The new GUI in VS 2015 for setting up when an exception should break into the debugger is, to put it mildly, not very intuitive and miss some key features.
The settings should be something like this...
[CheckBox] Enable exceptions to break into the debugger
- When unchecked everything else should be disabled, and an exception should NEVER break into the debugger
- When checked the next part of the GUI is enabled
*** RadioButtonGroup - Start ***
[RadioButton] Everywhere (My code, .NET Framework & 3:ed party assemblies)
[RadioButton] Only my code (projects included in the current solution and included in the current build)
[RadioButton] Specific assemblies, namespaces, classes and methods
- Selecting this enables a button that pops up a DialogBox where you can select any combination of assemblies, namespaces, classes and methods and with them create an advanced Boolean expression defining where an exception should break into the debugger.
*** RadioButonGroup - End ***
[ThreeView] Select when and which exeptions should break into the debugger.
- The root node "Global" contains the default settings that is inherited.
- Each node under the root "Global" is one of the Assemblies, Namespaces, Classes and methods from the previous selection
- For each node in the ThreeView there is a complete list of all known ExceptionTypes.
- For each ExceptionType for each item in the ThreeView there should be a RadioButton setting
* [RadioButton]Always break into the debugger
* [RadioButton] Break when unhanded.
* [RadioButton] Ignore, Never break on this exception.
* [RadioButton] Inherit parent setting.
This will allow you to configure exactly how you want things work.
You should be able to save the current Exception configuration to either your personal repository, or as part of the the current solution for all team members to use (or both).
And then when there is an exception and you break into the debugger and show the Exception tool/info GUI on the row where it occurred, there should be options on how to handle further exceptions based on the ExceptionType, current assembly, namespace, class and method (for example you should be able to say don't break on this exact exception in this method).
Any changes done this way should be reflected in the ExceptionSettings, and the ExceptionSettings should be marked as "Unsaved".
When the ExceptionSettings is stored as part of the solution, they should also be checked into TFS (or GIT or whatever is used).
There should also probably be a setting to consider all exceptions to be handled if Application_Error is implemented in an ASP.NET project.