Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 17:16

Использование обработки исключительных ситуаций

Автор Shkerin, 14 мар 2011, 12:50

0 Пользователей и 1 гость просматривают эту тему.

Shkerin

Правильно ли вставить обработку исключительных ситуаций для всего текста процедуры(функции) если необходимо продолжить выполнение внешнего модуля (вызвавшего процедуру ВнешнийТекстовыйДокумент()) в любом случае?

Процедура ВнешнийТекстовыйДокумент() Экспорт
    Попытка
        // Текст всей процедуры выгрузки информации во внешний файл
    Исключение
        Возврат;  // Возврат во внешнюю процедуру без обработки исключения
    КонецПопытки;
КонецПроцедуры;

Klyacksa

Зависит от того, что может не сработать.
Какие ожидаются исключительные ситуации :)

Вполне возможно, что достаточно всего несколько строк заключить в "Попытку".

Есть небольшой нюанс - в некоторых случаях при использовании конструкции
Поппытка
     // код
     Попытка
           // код
     исключение
           // код
     конецПопытки;
Исключение
    // код
КонецПопытки;

может возникать ошибка "В данной транзакции уже происходили ошибки!", поэтому подобной вложенности следует избегать.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Shkerin

Цитата: Klyacksa от 14 мар 2011, 12:56
Зависит от того, что может не сработать.
Какие ожидаются исключительные ситуации :)

Вполне возможно, что достаточно всего несколько строк заключить в "Попытку".
Процедура вызывается из ОбработокПроведения() нескольких ВАЖНЫХ документов. Поэтому необходимо продолжить работу в идеале при любой возникшей ошибке во внешней процедуре ВнешнийТекстовыйДокумент().
За нюанс использования конструкций Большое спасибо!!

Klyacksa

В принципе, ограничений на количество кода в Попытке нет, так что можно и весь код загнать в Попытку.
А можно сделать так:
Попытка
      ВнешнийТекстовыйДокумент();
Исключение
КонецПопытки;

Тогда в не зависимости от итогов выполнения процедуры, выполнение пойдет дальше.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск