powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вопрос по Exception
4 сообщений из 4, страница 1 из 1
Вопрос по Exception
    #32224346
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Книгу прочитал, данную по ссылке Ермаком. Про сам механизм Exception все естественно понятно. Однако разве в PB генеряться Exception в собственных базовых классах и компонентах ? То есть правильно ли отработается у меня следующий код:
Код: plaintext
1.
2.
3.
4.
5.
try
  dw_1.Update()
catch (Throwable t)
  MessageBox('Ошибка', 'Мда')
end try


Думаю что ответ будет однозначным "НЕТ", иначе если бы метод Update генерил Exception, то при вызове Update нам всегда бы пришлось писать try ... catch ...

Еще вопросик в догонку - с одной стороны я вроде как могу в событии возбудить исключительную ситуацию и если я его буду вызывать такое событие как:
Код: plaintext
object.event EventName()

то PB потребует заключить его в try catch. Однако с другой стороны я могу его вызвать как
Код: plaintext
object.TriggerEvent('EventName')

- тут уже PB естественно ничего не потребует. Как то все замутненно с Exception, такое чувство, что их к PB так ... сбоку прикрутили, чтобы архитектуру Server/Component правильно строить, а вот какой прок от них в клиентской части мне честно говоря не очень понятно.
...
Рейтинг: 0 / 0
Вопрос по Exception
    #32224379
Механик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
object.event EventName() вызывается, отрабатывает и возвращает результат для дальнейшей обработки после вызова. В случае отсутствия в объекте события происходит ошибка.
object.TriggerEvent('EventName') вызывается, процесс запускается параллельно основному (типа использования Yield() ). В случае отсутствия результата или даже самого события ошибки не происходит.
...
Рейтинг: 0 / 0
Вопрос по Exception
    #32224421
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS
Прежде всего, в РВ открой Object Browser->System Tab->throwable, RMB - Show Hierarchy.
Throwable - base class for ALL exceptions in PB, поэтому ловить её - моветон, как известно ловить надо exception наиболее конкретного класса.
В данном случае - это скорее всего должно было быть dwruntimeerror, но как ты пральна заметил, Update не throws exceptions, а триггерит dberror event, сие есть легаси, как у нас тут говорят.

Механик
Утверждение object.TriggerEvent('EventName') вызывается, процесс запускается параллельно основному (типа использования Yield() ) в корне неверно, никакими елдами там не пахнет :-))
...
Рейтинг: 0 / 0
Вопрос по Exception
    #32224442
Механик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон... Спутал.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вопрос по Exception
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]