There is an interesting option in Visual Studio allowing you to specify when you want the debugger to break. By default it is only when an unhanded exception is thrown. You can also detect all exceptions that are thrown in your code (even those that you handle) by checking the Thrown checkbox.
This feature is accessible through Debug->Exceptions, and normally the window looks like this :
But I don’t know why mine looked like this :
I don’t have the User-Unhandled column… So I searched on google and I have found that the reason for not having this column is the setting I have made in some other part of Visual Studio: Tools->Options…->Debugging->General->Enable Just My Code (Managed Only)