ОбработкаОтображенияОшибки: собственный модуль managed

Учебные задачи

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

Где и как запускать

Конкретный собственный модуль приложения / сеанса / внешнего соединения, указанный в подготовке. Платформенные события вручную не вызываются.

Подготовка

  1. Используйте отдельную свою учебную конфигурацию. Основной блок помещается в модуль приложения, указанный ниже, не в модуль формы и не в общий серверный модуль.

  2. Обработчик вызывает платформа при настоящем событии сеанса. Не вызывайте процедуру вручную и не добавляйте второй обработчик того же имени в модуль.

  3. Основной блок — модуль управляемого приложения. В своей внешней управляемой обработке создайте команду ПроверитьСвоюОшибку и назначьте дополнительный клиентский обработчик.

  4. Нажмите эту кнопку только в учебной базе. Ошибка намеренно не перехвачена; событие приложения оставляет стандартное окно ошибки включённым и не отправляет сведения вовне.

Процедура ОбработкаОтображенияОшибки(ИнформацияОбОшибке, ТребуетсяЗавершениеСеанса, СтандартнаяОбработка)
    СтандартнаяОбработка = Истина;
    Сообщить("Собственная проверка обработки ошибки: " + ИнформацияОбОшибке.Описание);
    Если ТребуетсяЗавершениеСеанса Тогда
        Сообщить("Не пытаемся отменить обязательное завершение или открыть свою форму");
    КонецЕсли;
КонецПроцедуры
Собственная управляемая форма: явная кнопка учебной ошибки
&НаКлиенте
Процедура ПроверитьСвоюОшибку(Команда)
    Сообщить("Сейчас будет собственное неперехваченное учебное исключение");
    ВызватьИсключение "Учебная ошибка своей обработки";
КонецПроцедуры

Разбор по шагам

  1. Выбранный модуль и настоящий тип сеанса определяют, когда платформа вызывает обработчик.

  2. Используется явно подготовленный собственный параметр / кэш / команда, а не неизвестный входной объект.

  3. Соблюдаем ограничения этапа: до окна и после его закрытия не показываем интерфейс, в фоне не выполняем долгую работу.

Как проверить результат

  1. При собственной ошибке показано дополнительное сообщение и стандартная диагностика.

  2. Параметр ТребуетсяЗавершениеСеанса не присваивается. Обработчик не открывает свои формы и не вызывает сервер при сбое.

Ожидаемый результат

Событие / раздел модулей показаны с собственным источником и реальными ограничениями его этапа.

На что обратить внимание

  1. Не смешивайте модули управляемого приложения, обычного приложения, внешнего соединения и сеанса.

  2. Обзорный пример относится только к указанному событию и не наследует отметку готовности всем дочерним страницам.

  3. При сборке HTML сеансы 1С, внешние соединения, системный буфер и BSL не запускались.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.