PL/SQL Exception Propagation

In Oracle exception also raised in declare section or in executable section or in exception section, If exceptions are raised in executable section then those exception are handled in INNER BLOCK or OUTER BLOCK.

Whereas if Exception are raised in Declare section or in Exception section, then those Exception must be handled using outer block only, this is called as PL/SQL Exception Propagation.

BEGIN

DECLARE

Z VARCHAR2(3) := ‘ABCD’;

BEGIN

Dbms_output.put_line(Z);

Exception

When VALUE_ERROR THEN

DBMS_OUTPUT.PUT_LINE(‘Invalid String Length’);

END;

WHEN VALUE_ERROR THEN

Dbms_output.put_line(‘Invalid String Length Handled through outer block only’);

END;