C# Edit and Continue: error 4032
Error Message
Modifying a catch/finally handler with an active statement in the try block will prevent the debug session from continuing while Edit and Continue is enabled
This error occurs when you try to edit a catch or finally handler whose try block contains an active statement. It occurs only if the active frame is not on the top of the callstack. Edit and Continue marks catch and finally handlers as read-only, so this error occurs only in unusual cases.
Consider the following example code:
#define EXAMPLE
class Program
{
static void Example()
{
...
}
static void Main(string[] args)
{
try
{
Example();
}
#if EXAMPLE
catch
{
...
}
#else
catch(exception e)
{
...
}
#endif
}
}
If you set a breakpoint on the call to Example
, then change #define EXAMPLE
to #define EXAMPLE2
, this error occurs.
To correct this error
Undo the changes, and then continue debugging without the changes. You can make the change later when the statement is no longer active.
—or—
On the Debug menu, click Stop Debugging, then make the changes and start a new debugging session.
See Also
Reference
try-catch-finally (C# Reference)
Supported Code Changes (C#)
Edit and Continue (Visual C#)