Oracle Exception
Oracle Exception
The Oracle database contains the following types of exceptions:
Internally defined are automatically raises by the runtime system. An internally defined exception always has an error code, but does not have a name.
Predefined are internally defined exceptions that PL/SQL has given a name. For example, ORA-01403 (PL/SQL: NO_DATA_FOUND).
The most used predefined exceptions are:
- NO_DATA_FOUND
- TOO_MANY_ROWS
- OTHERS
- DUP_VAL_ON_INDEX
- INVALID_NUMBER
- VALUE_ERROR
User-defined are exceptions declared by user in the declarative part of any PL/SQL anonymous block, subprogram, or package.
Oracle Predefined Exception
declare v_name varchar2(255); begin select name into v_name from customers where id in (3,4); exception when no_data_found then dbms_output.put_line('error: '||sqlerrm); when too_many_rows then dbms_output.put_line('error: '||sqlerrm); end;
Oracle User-defined Exception
declare v_count number; exception_user_defined exception; begin select count(*) into v_count from customers where id = 341; if v_count=0 then raise exception_user_defined; end if; dbms_output.put_line('The count > 0'); exception when exception_user_defined then dbms_output.put_line('The count = 0'); end;