powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Обработка всех ошибок в 1 месте
6 сообщений из 6, страница 1 из 1
Обработка всех ошибок в 1 месте
    #35939025
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу получать все ошибки в 1 объекте.
И выводить стандартное окно с указанием типа ошибки(ПБ, БД...), номера ошибки, наименования ошибки, объекта/функции/события/меню, строки в скрипте.
сооотвественно вопросы:
1. Как правильно это огранизовать?
2. Какие бывают типы ошибок и где именно они возникают?
3. Как всех их перенаправить в 1 объект без потери нужных свойств (номера ошибки, наименования ошибки, объекта/функции/события/меню, строки в скрипте)?
4. При обработке некоторых ошибок надо прервать скрипт выполения (в скрипте нет спец обработки).Как это сделать?
спасибо
...
Рейтинг: 0 / 0
Обработка всех ошибок в 1 месте
    #35939510
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разные ошибки возникают в разных местах. Навскидку так Вам никто не скажет.
У объекта application есть событие error - оно возникает при ошибках приложения. Ошибки БД возникют в разных местах при разных обстоятельствах, так что эта работа не такая простая - нужно делать свою иерархию объектов и прописывать много всякого кода для обработки ошибок. У Вас новый проект? Используется ли в нем какая-нибудь библиотека классов? (Например PFC).
...
Рейтинг: 0 / 0
Обработка всех ошибок в 1 месте
    #35940012
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понимаю что это не так просто. Но я думаю такая идея возникла не у меня первого. Может кто поделится опытом, раскажет подробно что и где, может выложит свою версию объекта и его вызовов. Я думаю есть люди знающие хорошо этот вопрос и готовые бескорыстно поделится своими знаниями и достижениями.Очень на вас надеюсь т.к. самому все это додумать не представляется возможным. Да и велосипед изобретоть не хочется.
Марк, проект у меня можно сказать с нуля. Из PFC использую только несколько объектов для ресайзирования. И есть своя небольшая библитека классов.
...
Рейтинг: 0 / 0
Обработка всех ошибок в 1 месте
    #35940437
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakota97,
Посмотри в почте.
...
Рейтинг: 0 / 0
Обработка всех ошибок в 1 месте
    #35940642
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну тогда буду стараться разобраться сам
А вы говорите если что не так
Выделяем всего 3 типа ошибок:
1. Системные в application systemerror
2. Ошибки БД в event DBerror
3. Ошибки БД embedded sql
это правильно?
...
Рейтинг: 0 / 0
Обработка всех ошибок в 1 месте
    #35940804
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakota97,В объекте перехватываются только
1. Системные systemerror
2. Ошибки DBerror
А ошибки БД embedded sql
я делаю следующим способом
Код: plaintext
 1 . IF sqlca.SqlCode <  0  THEN \n      // Это через объект, данный вид позволяет автоматом сразу писать в лог\n      // для анализа в последствии\n      PopulateError(sqlca.SqlDbCode,sqlca.SqlErrText)\n      error.Text = "Ошибка обработки процедуры или ещё чего"\n      error.uf_SetSqlErrorInfo(sqlca," ")\n      Error.uf_Error()\n   END IF\n 2 . IF sqlca.SqlCode <  0  THEN \n    // Предпочитаю этот, здесь использую объект вывода информации и в нем\n    //также идет запись в лог и более привлекательный вывод информации пользователю \n      f_show_message("Ошибка обработки процедуры или ещё чего. " + SqlErrText, 2 , 8388608 , 0 )\n   END IF\t
Данный объект можно посмотреть тут /topic/625210&hl=

Соответственно error красным цветом и другая иконка
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Обработка всех ошибок в 1 месте
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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