An example showing continuing program execution after handling exception : Handle Exception « PL SQL Programming « Oracle PL/SQL Tutorial






SQL> create table product(
  2     product_id number(4)     not null,
  3     product_description varchar2(20) not null
  4  );

Table created.

SQL>
SQL> insert into product values (1,'Java');

1 row created.

SQL> insert into product values (2,'Oracle');

1 row created.

SQL> insert into product values (3,'C#');

1 row created.

SQL> insert into product values (4,'Javascript');

1 row created.

SQL> insert into product values (5,'Python');

1 row created.

SQL>
SQL>
SQL> DECLARE
  2    v_descr VARCHAR2(20);
  3  BEGIN
  4    BEGIN
  5      SELECT product_description
  6      INTO v_descr
  7      FROM product
  8      WHERE product_id =10;
  9      dbms_output.put_line(v_descr);
 10    EXCEPTION WHEN NO_DATA_FOUND THEN
 11      INSERT INTO product VALUES (10,'Assistant');
 12      COMMIT;
 13    END;
 14    BEGIN
 15      SELECT product_description
 16      INTO v_descr
 17      FROM product
 18      WHERE product_id =1;
 19      dbms_output.put_line(v_descr);
 20    EXCEPTION WHEN NO_DATA_FOUND THEN
 21      dbms_output.put_line('ERR:Invalid Data for Hierarchy');
 22    END;
 23  EXCEPTION
 24    WHEN OTHERS THEN
 25      dbms_output.put_line('ERR:An error occurred with info :'||
 26      TO_CHAR(SQLCODE)||' '||SQLERRM);
 27  END;
 28  /
Java

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL> drop table product;

Table dropped.

SQL>








24.15.Handle Exception
24.15.1.Code with No Exception Handler
24.15.2.Code with Conditional Control to Avoid an Exception
24.15.3.Code with Explicit Handler for Predefined Exception
24.15.4.Handling an Unnamed Exception
24.15.5.Handling a custom exception
24.15.6.An example showing continuing program execution after handling exception
24.15.7.The OTHERS Exception Handler
24.15.8.Assigning a Name to Predefined Exception Code
24.15.9.Using SQLCODE for error code and SQLERRM for error message
24.15.10.Catch custom exception
24.15.11.Handling exceptions without halting the program
24.15.12.Select into statement with exception catch statement
24.15.13.Check OTHERS exception
24.15.14.Error message code and text
24.15.15.Using PRAGMA EXCEPTION_INIT
24.15.16.NO data found
24.15.17.TOO_MANY_ROWS Exception
24.15.18.Use a nested block to catch exceptions from singleton SELECT.