Может ли кто-нибудь объяснить, зачем нам нужен pragma exception init. у нас есть исключение, определяемое пользователем, которое выполняет ту же работу, что и прагма. Ваш ответ будет оценен.В какой ситуации мы можем пойти для pragma_exception_init
ответ
pragma exception_init используется для предоставления имени исключения, чтобы вы могли ссылаться на исключение на это имя в обработчике исключений. Только несколько из нескольких тысяч исключений Oracle имеют предопределенные имена. Вы можете использовать exception_init для создания имен для этих других исключений.
см https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/errors.htm#BABGIIBI
я редактирую мой предыдущий ответ, потому что я могу вставить форматированный текст здесь. В вашем примере вы определяете исключение, которое вы бросаете, но что, если вы хотите поймать существующее исключение, которое система бросает, но не называется? В следующем примере я обрабатываю две конкретные ошибки: DATA_NOT_FOUND и ORA-600, что является системной ошибкой (и да, у меня есть код, который их получает).
CREATE OR REPLACE PROCEDURE exception_init_demo
AS
l_routine VARCHAR2 (30) := $$plsql_unit;
severe_system_error EXCEPTION;
PRAGMA EXCEPTION_INIT (severe_system_error, -600);
BEGIN
-- Execution code goes here
NULL;
EXCEPTION
WHEN severe_system_error
THEN
-- Severe error, log it, notify the dba, re-raise the exception
log_error (
p_application => $$plsql_unit
, p_routine => l_routine
, p_message => SQLERRM || UTL_TCP.crlf || DBMS_UTILITY.format_error_backtrace()
);
notify_dba;
RAISE;
WHEN NO_DATA_FOUND
THEN
-- No data was found, this is OK, ignore error and return
return;
WHEN OTHERS
THEN
-- all other errors we will log and re-raise
log_error (
p_application => $$plsql_unit
, p_routine => l_routine
, p_message => SQLERRM || UTL_TCP.crlf || DBMS_UTILITY.format_error_backtrace()
);
RAISE;
END;
- 1. В какой ситуации мы можем использовать сервис для Android?
- 2. Можем ли мы использовать «include?» в этой ситуации?
- 3. В какой ситуации мы хотим добавить фрагмент без контейнера?
- 4. В какой ситуации мы должны использовать localstorage вместо файлов cookie?
- 5. В какой ситуации мы должны принять государственный образец?
- 6. В какой ситуации мы используем Random/Random order controller?
- 7. в какой ситуации Мы это сообщение об ошибке inc?
- 8. Какой API-интерфейс карты мы можем использовать для AS3?
- 9. Можем ли мы уточнить, какой уровень winston для регистрации?
- 10. iOS мы можем создать раскадровку для пейзажа?
- 11. Какой способ пойти в Linux 3D-программировании?
- 12. Можем ли мы выбрать, какой родительский наследовать, в css?
- 13. Когда мы должны пойти на Apache Spark
- 14. В какой ситуации мы используем функцию журнала для geodist функции для вычисления расстояния
- 15. Как мы можем определить какой-то интервал в демона init.d?
- 16. В какой степени мы можем реорганизовать модульных тестов
- 17. Как мы можем запустить CCAction класса A в классе B? Какой метод мы можем использовать для этого?
- 18. Какой контейнер использовать для данной ситуации?
- 19. Какой код ответа подходит для этой ситуации?
- 20. $ 1 до $ 9 только в perl, можем ли мы пойти дальше?
- 21. Можем ли мы написать плагин для JVM
- 22. Как мы можем решить, какой метод тестирования можно использовать?
- 23. Как мы можем проверить, какой шрифт используется браузером?
- 24. Какой тип тестирования проекта мы можем сделать с помощью JMeter
- 25. Как мы можем отслеживать, какой компонент должен отображать главную страницу?
- 26. Можем ли мы autwire интерфейс без какой-либо реализации весной?
- 27. как мы можем сериализовать singleton? Я думаю, мы не можем
- 28. Можем ли мы использовать CASE в BETWEEN
- 29. Можем ли мы обнюхать сетевой трафик какой-либо программы?
- 30. Можем ли мы узнать, из какой сборки пришел вызов метода?
напр: создать или заменить процедуру proc_pragma_demo , как я номер: = 1; исключение i_greater_than_zero; pragma exception_init (i_greater_than_zero, -1234); begin if (i> 0) then raise i_greater_than_zero; end if; исключение когда i_greater_than_zero тогда dbms_output.put_line ('i значение больше нуля:'); конец; в приведенном выше примере, даже если у нас нет прагмы, он выполняет ту же работу. Каково значение прагмы? –
Спасибо большое, Брайан. Я понял. –