Несмотря на то, что результаты выглядят одинаково, это разные вещи с разными целями, поэтому они не имеют никаких преимуществ или недостатков.
APEX_ERROR.add_error
- это вызов API APEX , позволяющий программно вставлять сообщения об ошибках в стек для сообщения пользователю.
RAISE_APPLICATION_ERROR
- это команда PL / SQL для запуска пользовательского исключения (задним числом это вероятно, надо было бы позвонить RAISE_APPLICATION_EXCEPTION
, чтобы избежать путаницы ...). Как и любое исключение PL / SQL, если ваш код PL / SQL не обрабатывает или не подавляет его, APEX просто покажет его пользователю, как и любое другое сообщение об ошибке.