Поделиться через


C#, режим "Изменить и продолжить": ошибка 4034

Изменение обработчика Catch для активной инструкции будет препятствовать продолжению сеанса отладки, если включен режим "Изменить и продолжить"

Предпринята попытка изменить обработчик catch, который содержит активную инструкцию, но не находится на вершине стека вызовов. Режим "Изменить и продолжить" не поддерживает этот тип изменений во время отладки.

Рассмотрим следующий пример:

class Program

{

   static void Example() { }

   static void Main(string[] args)

   {

      try

      {

         throw new System.Exception();

      }

      catch

      {

         Example();

      }

   }

}

Если установить точку останова на вызов Example, затем приступить к отладке приложения и попробовать удалить вызов Example в обработчике Catch, возникнет эта ошибка.

Исправление этой ошибки

  • Отмените изменения, затем продолжайте отладку без изменений. Можно внести изменения позже, когда обработчик catch больше не будет содержать активную инструкцию.

    —или—

    В меню Отладка выберите Остановить отладку, затем внесите изменения в код и начните отладку заново.

См. также

Ссылки

try-catch (Справочник по C#)

Поддерживаемые изменения кода (C#)

Режим "Изменить и продолжить" (Visual C#)

Другие ресурсы

Ошибки и предупреждения режима "Изменить и продолжить" (C#)