共用方式為


C# 編輯後繼續:錯誤 4032

啟用 [編輯後繼續] 時,在 try 區塊中藉由使用中陳述式修改 catch/finally 處理常式會阻礙偵錯工作階段繼續進行

當您嘗試編輯 catch 或 finally 處理常式,而處理常式中的 try 區塊含有使用中陳述式時,就會發生這個錯誤。 只有在使用中框架不是位於呼叫堆疊的頂端時,才會發生這個錯誤。 [編輯後繼續] 會將 catch 或 finally 處理常式標示為唯讀,因此這個錯誤只會發生在不尋常的狀況中。

請考慮下列範例程式碼:

#define EXAMPLE

class Program

{

   static void Example()

   {

      ...

   }

   static void Main(string[] args)

   {

      try

      {

         Example();

      }

#if EXAMPLE

      catch

      {

       ...

      }

#else

      catch(exception e)

      {

         ...

      }

#endif

   }

}

如果您在對 Example 的呼叫上設定中斷點,然後將 #define EXAMPLE 變更為 #define EXAMPLE2,就會發生這個錯誤。

若要修正這個錯誤

  • 復原變更,然後在不變更的情況下繼續進行偵錯作業。 稍後陳述式不再使用時,您可以進行變更。

    -或-

    在 [偵錯] 功能表上按一下 [停止偵錯],進行變更,然後開始新的偵錯工作階段。

請參閱

參考

try-catch-finally (C# 參考)

支援的程式碼變更 (C#)

編輯後繼續 (Visual C#)

其他資源

編輯後繼續的錯誤和警告 (C#)