Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Сообщение об ошибке. / 25 сообщений из 39, страница 1 из 2
15.12.2014, 15:08
    #38834191
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Есть самописный процесс, который делает много проверок и в случае возникновения ошибки, должен выдать "дружественное сообщение".
Делаю так
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare 
	my_EXCEPTION 			EXCEPTION;
Begin
	....
	raise my_EXCEPTION;
	.....
	
	exception when my_EXCEPTION then
		apex_application.G_GLOBAL_NOTIFICATION := 'Ошибка глобальная';
		apex_application.G_NOTIFICATION := 'Ошибка простая';
		--apex_application.g_print_success_message := 'Выполнение успешно';
End;


Но почему ошибку не выдает, а вот сообщение о успешном выполнении, удачно отображается. Есть идеи?
Apex 4.2.5.

P.S. Попытаюсь сразу ответить на уточняющие вопросы Petro
"дружественное сообщение" - это точно такое же оформление по стилю, как и стандартное сообщение об ошибке в Апексе.
"дружественное сообщение" - это отсутствие в тексте содержание типа ORA-20100:, именно поэтому меня не устраивает raise_application_error.


P.S.S А началось все с того, что при генерации ошибки с помощью raise_application_error, кроме текста вверху, под табуляром пишет вот такую хрень
Код: plaintext
1.
2.
3.
report error:
ORA-01403: данные не найдены
ORA-06510: PL/SQL: необработанное исключение, определенное пользователем
Может кто знает как и с этим справится?
...
Рейтинг: 0 / 0
15.12.2014, 16:10
    #38834287
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangel,
я всё равно ничего не понял))
Почему не делать как у меня описано?
- текст ORA убрать - это убрать первые 9 символов. Мне техподдержка сказала оставить.
- стиль чем не такой, тоже не понял.
ЗЫ
процесс не кажет, если он после рендеринга страницы. У меня так было.
...
Рейтинг: 0 / 0
15.12.2014, 16:18
    #38834300
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Petro123,
В каком месте не понял?
Процесс который занимается сохранением в БД все прекрасно кажет, если ему в Process Error Message написать текст.
Но я хочу его писать текст, сгенерированный в теле процедуры.
...
Рейтинг: 0 / 0
15.12.2014, 16:34
    #38834330
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangel повторяю вопрос:
Petro123Почему не делать как у меня в топике описано?
...
Рейтинг: 0 / 0
15.12.2014, 16:35
    #38834333
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Да потому что там нет никакого JS.
...
Рейтинг: 0 / 0
15.12.2014, 16:39
    #38834343
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangelДа потому что там нет никакого JS.
1-м вопросом я рассматривал процесс PL .
...
Рейтинг: 0 / 0
15.12.2014, 17:07
    #38834385
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Petro123,

Видел, теперь читаем мой вопрос.
НЕ РАБОТАЕТ apex_application.G_NOTIFICATION
...
Рейтинг: 0 / 0
15.12.2014, 17:11
    #38834393
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangel,
теперь читаем мой пост.
Там тоже НЕ РАБОТАЕТ без бранч. Бранч нужен.
...
Рейтинг: 0 / 0
15.12.2014, 17:24
    #38834402
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Petro123,
Вот Ваш пример
Petro123Данный топик посвятим всем видам сообщений для юзверя в первую очередь.
1) При выгрузке файла делаем процесс After Submit
- если вдруг файла не оказалось
Код: plsql
1.
2.
3.
...
 exception when no_data_found then 
    apex_application.g_notification := 'бла-бла вы скачать не успели'


- без Branch вы его не увидите
- делаем http://www.foxbase.ru/oracle-apex/soobshcheniya-v-protsessakh-oracle-apex.htm/comment-page-1
- есть сообщение красным текстом вверху страницы:
........

Вы пишите пример об выводе ошибки, при этом даете ссылку на то как сделать сообщение об успешном выполнении, а потом еще про красноту какую то добавляем.

Теперь мой пост, я пишу что apex_application.g_notification не работает, а apex_application.g_print_success_message работает.
Бранч имеется
...
Рейтинг: 0 / 0
15.12.2014, 17:25
    #38834403
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangelP.S.S А началось все с того, что при генерации ошибки с помощью raise_application_error, кроме текста вверху, под табуляром пишет вот такую хрень
Код: plaintext
1.
2.
3.
report error:
ORA-01403: данные не найдены
ORA-06510: PL/SQL: необработанное исключение, определенное пользователем
Может кто знает как и с этим справится?
Поэдие вся хрень отрубается при создании своей Error Handling Function в настройках приложения

P.S. apex_application.G_NOTIFICATION и т.д. нужно делать на этапе отрисовки страницы, через branch передается только переменная g_print_success_message
...
Рейтинг: 0 / 0
15.12.2014, 17:36
    #38834408
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangel,
- ты не в курсе, что MessageBox об успешном и ошибке отличается только текстом и иконкой (краснотой)?
- у меня с бранчем он работает. Вы просто пишите своё, не читая других.
Нравится вариант "Б" - читайте SvDev .
Удачи!
...
Рейтинг: 0 / 0
15.12.2014, 17:53
    #38834426
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Petro123,

Б - это не вариант, это к ответу на вопрос: почему не работает,

если хочется вывести ошибку из pl/sql, есть отдельный пакет apex_error для вывода ошибок
...
Рейтинг: 0 / 0
15.12.2014, 18:04
    #38834439
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
SvDevPetro123,
Б - это не вариант, это к ответу на вопрос: почему не работает,
если хочется вывести ошибку из pl/sql, есть отдельный пакет apex_error для вывода ошибок
imho - вариант в том, что есть "Error Handling Function". Я не захотел это делать, т.к. imho оверхед и геморрой.
Мне хватило того, что я описал - бранч при рендеринге и JS при AJAX в динамике.
...
Рейтинг: 0 / 0
15.12.2014, 18:05
    #38834440
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
ну или если Б - Error Handling Function, тогда да, всё верно.

я к тому, что MessageBox отличается текстом, иконкой но еще стилями и яваскриптом.
Например, в некоторых темах ошибки крепятся сверху, в то время как сообщения об успешности через некоторое время исчезают с анимацией.

По поводу шаблонов g_notification не проверял как они отображаются, наверняка шаблоны отличаются от шаблонов ошибочных сообщений, их использование в этом случае может быть не очень уместным
...
Рейтинг: 0 / 0
15.12.2014, 18:12
    #38834445
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
SvDevНапример, в некоторых темах ошибки крепятся сверху, в то время как сообщения об успешности через некоторое время исчезают с анимацией.
имхо, лучше бы динамики и Popup окон добавили.
Основной функционал заточен на рендеринг. Запуск через пень-колоду.
Т.е. лучше нотификацию делать не через регион-разметку.
imho
...
Рейтинг: 0 / 0
16.12.2014, 07:52
    #38834672
Migelle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangelНо почему ошибку не выдает, а вот сообщение о успешном выполнении, удачно отображается. Есть идеи?

Я ошибки вывожу таким образом, заодно их можно вывести несколько штук:

Код: sql
1.
apex_error.add_error (p_message => 'Ошибка!' , p_display_location => apex_error.c_inline_in_notification);
...
Рейтинг: 0 / 0
16.12.2014, 09:41
    #38834731
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
SvDevblkangelP.S.S А началось все с того, что при генерации ошибки с помощью raise_application_error, кроме текста вверху, под табуляром пишет вот такую хрень
Код: plaintext
1.
2.
3.
report error:
ORA-01403: данные не найдены
ORA-06510: PL/SQL: необработанное исключение, определенное пользователем
Может кто знает как и с этим справится?
Поэдие вся хрень отрубается при создании своей Error Handling Function в настройках приложения

P.S. apex_application.G_NOTIFICATION и т.д. нужно делать на этапе отрисовки страницы, через branch передается только переменная g_print_success_message
Но если вручную задать текст ошибки он же ее выдает в красном квадрате, значит механизм есть.
...
Рейтинг: 0 / 0
16.12.2014, 09:42
    #38834732
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
MigelleblkangelНо почему ошибку не выдает, а вот сообщение о успешном выполнении, удачно отображается. Есть идеи?

Я ошибки вывожу таким образом, заодно их можно вывести несколько штук:

Код: sql
1.
apex_error.add_error (p_message => 'Ошибка!' , p_display_location => apex_error.c_inline_in_notification);


Спасибо, работает.
К сожалению не решает проблемы ошибки под табуляром.
...
Рейтинг: 0 / 0
16.12.2014, 09:54
    #38834741
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
SvDevПоэдие вся хрень отрубается при создании своей Error Handling Function в настройках приложения

Попробовал, не отрубилось...
...
Рейтинг: 0 / 0
16.12.2014, 10:02
    #38834754
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangel,
если в секции exception PL кода перехватить ошибку, то в апекс ни под какими табулярами её не будет.
...
Рейтинг: 0 / 0
16.12.2014, 10:43
    #38834791
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Petro123,
Внимание на экран, вверху обработанная ошибка, а под табуляром хрень, вот от нее хочу избавится.

*Надеюсь картинка прикрепится
...
Рейтинг: 0 / 0
16.12.2014, 11:16
    #38834820
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangelа под табуляром хрень
хрень знает, где ваша хрень)). Давно бы скрин вставил.
- в отчёте, там где колонки и запросы. Поставьте текст: "Данные не найдены".
Этот текст будет всегда, когда не будет данных (фильтр, ошибка и т.д.)
...
Рейтинг: 0 / 0
16.12.2014, 11:22
    #38834826
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
blkangelЕсть самописный процесс,
создай 2 исключение. Одно фатальное, тогда идём на страницу ошибки со стопом процесса рендеринга.
Другое, не фатальное. Значит процесс не должен поломать данные для всех контрол-items на странице.
...
Рейтинг: 0 / 0
16.12.2014, 11:36
    #38834840
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Petro123blkangelа под табуляром хрень
хрень знает, где ваша хрень)). Давно бы скрин вставил.
- в отчёте, там где колонки и запросы. Поставьте текст: "Данные не найдены".
Этот текст будет всегда, когда не будет данных (фильтр, ошибка и т.д.)
Там то прописанно, но выдает не этот текст
...
Рейтинг: 0 / 0
16.12.2014, 11:42
    #38834848
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сообщение об ошибке.
Petro123blkangelЕсть самописный процесс,
создай 2 исключение. Одно фатальное, тогда идём на страницу ошибки со стопом процесса рендеринга.
Другое, не фатальное. Значит процесс не должен поломать данные для всех контрол-items на странице.
Вот именно, что должен остаться на этой странице.
Выполняемый процесс не меняет ничего на странице, а только считывает данные.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Сообщение об ошибке. / 25 сообщений из 39, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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