Which three are true regarding error propagation? (Choose three)
A.
An exception cannot propagate across remote procedure calls.
B.
An exception raised inside a declaration immediately propagates to the current block.
C.
The use of the RAISE; statement in an exception handler reprises the current exception.
D.
An exception raised inside an exception handler immediately propagates to the enclosing block.
Explanation:
A: Exceptions cannot propagate across remote procedure calls (RPCs). Therefore, a PL/SQL block cannot catch an exception raised by a remote subprogram. For a workaround, see “Defining Your Own Error Messages: Procedure RAISE_APPLICATION_ERROR”.
C: To reraise an exception you place a RAISE statement in the local exception handler. D: When an exception is raised, the control is passed to the exception-handling section. The control is never transferred back to the executable section after the exception is handled rather it propagates to the enclosing block.
Incorrect Answer
B: As a rule of thumb, exceptions are declared in the declarative section, raised in the executable section,
and handled in the exception-handling section. When an exception is raised, the control is passed to the
exception-handling section