
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
39 lines
833 B
Plaintext
39 lines
833 B
Plaintext
== Why is this an issue?
|
|
|
|
``++RAISE_APPLICATION_ERROR++`` may only be called with an error code from ``++-20,000++`` to ``++-20,999++``, which is the range reserved for application errors. When called with another value, Oracle raises the exception: ``++ORA-21000: error number argument to raise_application_error of 0 is out of range.++``
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,sql]
|
|
----
|
|
BEGIN
|
|
RAISE_APPLICATION_ERROR(0, 'This is an application error'); -- Non-Compliant - raises ORA-21000
|
|
END;
|
|
/
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,sql]
|
|
----
|
|
BEGIN
|
|
RAISE_APPLICATION_ERROR(-20000, 'This is an application error'); -- Compliant
|
|
END;
|
|
/
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
"nnn" is an invalid error code.
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|