How to force an exception while debugging in Visual Studio?

I am running my application in debug mode, and I would like to manually throw an exception (i.e. not from within the code). Is there any way to do this?

Of course, running throw new Exception("My forced exception"); in the Command or Immediate window doesn't work.

EDIT: I want the exception to be caught by the try-catch statement that surrounds the code I'm debugging.


Solution 1:

One possible way is to break on a line and manually change a nullable variable in the code path to null just before an operation on it occurs. This will cause a NullReferenceException to be thrown.

Solution 2:

You could add a method similar to:

public static void ThrowAnException(string message)
{
    throw new ApplicationException(message);
}

Then, using the Immediate window, you could call ThrowAnException("Whoops")

Solution 3:

If you're running within the context of a unit test, and the point where you want the exception to originate is behind an injected interface or class, you can create a mock object that throws the exception.

The advantage of this is, once you're happy that you've replicated the error, you can construct a new unit test for your regression suite.