|
Как правильно Отказ = Истина или ВызватьИсключение?
| ☑ |
0
fotov
09.08.19
✎
12:00
|
Стандартно - все привыкли делать Отказ = Истина и отдельно писать пользователю причину через Сообщить или СообщениеПользователю.
Я тут подумал - если Отказ = Истина вызывает исключение - так может проще писать ВызватьИсключение и текст ошибки?
|
|
1
ДенисЧ
09.08.19
✎
12:17
|
Отказ - это просто переменная. Можешь её в заголовке процедуры назвать "ОНетЯНеБудуДелатьЭтоАдынАдын" и ничего не изменится.
|
|
2
ДенисЧ
09.08.19
✎
12:17
|
И присвоение ему истины не вызывает исключения.
|
|
3
Йохохо
09.08.19
✎
12:18
|
а Отказ = Истина = Истина вызывает два исключения
|
|
4
ixijixi
09.08.19
✎
12:18
|
Смотря где Отказ
|
|
5
Cyberhawk
09.08.19
✎
12:20
|
(2) В транзакции записи объекта вызывает
|
|
6
Cyberhawk
09.08.19
✎
12:21
|
"может проще писать ВызватьИсключение и текст ошибки?" // Недружественный сценарий по отношению к пользователю. К тому же ты прерываешь выполнение кода, в отличие от.
|
|
7
elCust
09.08.19
✎
12:27
|
Будет совсем не красиво использовать "Вызвать исключение" в обработке проведения. Особенно при операции группового проведения
|
|
8
Cyberhawk
09.08.19
✎
12:28
|
(7) Если вызывающий код рассчитывает на возможный отказ = истина то разницы с исключением для него никакой
|
|
9
Жан Пердежон
09.08.19
✎
12:34
|
(2) СП:
ПередЗаписью(<Отказ>, <РежимЗаписи>, <РежимПроведения>)
Параметры:
<Отказ>
Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись выполнена не будет и будет вызвано исключение.
|
|
10
fotov
09.08.19
✎
12:34
|
(6) Ну как раз дружественный - если просто написать "Отказ = Истина" - без отдельного Сообщить - пользователю отобразится "Не удалось записать "ИмяЭлемента"
Да даже если и делать "Сообщить" - место отображения сообщения - оно неочевидно.
(7) В синтаксис-помощнике написано, что установка Отказ = Истина приводит к вызову исключения
|
|
11
elCust
09.08.19
✎
12:36
|
(10) Да, уже прочитал в СП.
|
|
12
Вафель
09.08.19
✎
13:03
|
если потом програмно проводить документы, то удобнее вызвать исключение. ибо оно само запишится в ЖР. через сообщить нужно будет самому обрабатывать
|
|
13
Cyberhawk
09.08.19
✎
13:30
|
(10) "место отображения сообщения - оно неочевидно" // Очевидно - это окно (форма), находящееся в фокусе до начала серверного вызова. Если ты намекаешь на то, что иногда форма закрывается с едва успевшим начать показываться в ней сообщением, то да - вызов исключения гарантирует сохранность текста сообщения и максимум внимания пользователя )
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший