C# 编辑并继续:错误 4034

当启用“编辑并继续”时,修改活动语句周围的 catch 处理程序将会阻止调试会话继续进行

您尝试编辑包含当前活动的语句的 catch 处理程序,而此语句并不在调用堆栈顶部。 “编辑并继续”在调试期间不支持此类更改。

考虑下列代码示例:

class Program

{

   static void Example() { }

   static void Main(string[] args)

   {

      try

      {

         throw new System.Exception();

      }

      catch

      {

         Example();

      }

   }

}

如果在 Example 的调用上设置一个断点,然后开始调试应用程序,并尝试移除 catch 处理程序中的 Example 调用,则将发生此错误。

更正此错误

  • 撤消更改,然后在不进行更改的情况下继续调试。 以后可以在 catch 处理程序不再包含活动语句时进行更改。

    - 或 -

    在**“调试”菜单上单击“停止调试”**,进行更改,然后启动新的调试会话。

请参见

参考

try-catch(C# 参考)

受支持的代码更改 (C#)

编辑并继续 (Visual C#)

其他资源

“编辑并继续”错误和警告 (C#)