Имя: Пароль:
1C
 
Обработка исключений везде
0 Beduin
 
16.12.21
15:40
На одном проекте попросили все участки кода завернуть в try/catch. И логировать исключения в отдельный стек. Это сейчас новый тренд?
1 Базис
 
naïve
16.12.21
15:42
Рарус так тиражные конфы пишет. Только не логирует, а продаёт конфы, как нормальные.
2 Смотрящий
 
16.12.21
15:42
Это сделанный по нормальному код
3 Fragster
 
гуру
16.12.21
15:45
4 Смотрящий
 
16.12.21
15:47
Это новомодный фуфел. В процессе разработки - возможно, в релиз - только с обработчиками исключений.
5 Beduin
 
16.12.21
15:49
(4) Тоесть пользователь не узнает, что у него проблема пока разработчик журнал не посмотрит.
6 Fragster
 
гуру
16.12.21
15:49
(4) ты так говоришь, что кто-то когда-то в эти логи смотреть будет
7 Перцовый баллон
 
16.12.21
15:51
(0) на андройде или на 1с?
8 Beduin
 
16.12.21
15:52
(7) На андроиде. Но вопрос общий.
9 Перцовый баллон
 
16.12.21
15:56
(8) 1С считает что в общем случае их не надо перехватывать https://its.1c.ru/db/v8std#content:499:hdoc
10 Перцовый баллон
 
16.12.21
15:57
Лучше даже их явно вызывать в некоторых случаях
при использовании вложенных транзакций (см. п. 1.4) в конце блока Исключение рекомендуется добавить оператор ВызватьИсключение.  В противном случае исключение не будет передано выше по стеку вызовов, там не сработает обработка исключения, внешняя транзакция не будет явным образом отменена и платформа вызовет исключение «В данной транзакции происходила ошибка»
https://its.1c.ru/db/v8std#content:783:hdoc
11 Смотрящий
 
16.12.21
15:58
Не выбрасывайте исключение, можно реализовать предупреждением или сообщением.

Пример:
Недра БСП
В одной из процедур нижнего уровня создается и обрабатывается ТЗ
На одном из этапов обработки выбрасывается исключение, процедура прерывается
Юзер получает сообщение
Процедура верхнего уровня продолжает исполнение получив не полностью заполненную ТЗ и корректно обрабатывает ее

И хрен ты встроишься в постобработку это ТЗ кроме как забрав в расширение целиком процедуру а не дописав свой вызов в конце,
так что обрабатывате исключения