Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как узнать имя Event'а внутри него же? / 5 сообщений из 5, страница 1 из 1
15.09.2006, 23:05
    #33991600
Amberit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать имя Event'а внутри него же?
Здравствуйте, уважаемые форумчане!

Подскажите, пожалуйста, как решить задачку? Можно ли узнать имя события/функции внутри самого события/функции? Наподобие ClassName() для объекта?

Это нужно для логирования ошибок, в частности их места возникновения. Конечно, можно в скрипте "тупо" забить его имя в константу и в случае ошибки передавать его в обработчик, но, может быть, есть более элегантный способ?

Заранее спасибо!
...
Рейтинг: 0 / 0
16.09.2006, 14:57
    #33991898
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать имя Event'а внутри него же?
AmberitПодскажите, пожалуйста, как решить задачку? Можно ли узнать имя события/функции внутри самого события/функции? Наподобие ClassName() для объекта?

Это нужно для логирования ошибок, в частности их места возникновения.
PopulateError(number,text)
Fills in the Error object without causing a SystemError event.

не помню в какой версии эта функция появилась.
...
Рейтинг: 0 / 0
18.09.2006, 23:04
    #33995377
Amberit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать имя Event'а внутри него же?
Спасибо большое, самое оно!
...
Рейтинг: 0 / 0
22.09.2006, 15:02
    #34006477
ZhV
ZhV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать имя Event'а внутри него же?
Логирование ошибок делается в 3-х местах
1) application/event systemerror - сюда сваливаются все runtime ошибки

2) u_datawindow(inherited datawindow)/event error&dberror - сюда сваливаются ошибки обращений к БД


Но сама мысль использования PopulateError интересна - вот как раз была идея специального логирования (по флажку) обращений к тем или иным модулям - типа исследования потока запросов и пользовательских операций при штатной эксплуатации
...
Рейтинг: 0 / 0
23.09.2006, 13:00
    #34007720
Amberit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать имя Event'а внутри него же?
Все верно, но лично я для логирования и обработки ошибок использую функцию в объекте транзакции... А вот ее уж и вызываю из systemerror'а, dberror'а и остальных мест (например, функций объекта), где нужна обработка ошибок... Такая функция у меня занимается логированием ошибки в БД/файл, отображением ее на экран юзеру, и в случае ошибки БД обрезанием служебной части ошибки, выводя только осмысленную информацию (например, при дублирование первичного ключа выводится заранее предопределенное сообщение типа ДУБЛЬ ПЕРВИЧНОГО КЛЮЧА - ТАКАЯ ЗАПИСЬ УЖЕ СУЩЕСТВУЕТ, вместо оракловского ora-00001 unique constraint violated или как там его...). А в протокол уже пишется полный текст ошибки...

До этого момента место возникновения ошибки приходилось передавать в эту функцию как параметр, но теперь - одним параметром стало меньше... Очень удобно, так как объект транзакции (ПФС-шный), используется в очень многих приложениях, и получается централизованная обработка ошибок...

Может быть, поддержим тему? Уважаемые форумчане, поделитесь опытом, а как Вы обрабатываете ошибки в приложении? Возможно, используете более интересные варианты?
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как узнать имя Event'а внутри него же? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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