当前位置: Oracle DBA培训网-优技培训 >> oracle培训 > Oracle培训教程 >

PL/SQL基础:自定义异常怎么处理

PL/SQL基础:自定义异常怎么处理

PL/SQL基础:自定义异常怎么处理?除了预定义异常外,用户还可以在开发中自定义异常,自定义异常可以让用户采用与PL/SQL引擎处理错误相同的方式进行处理,用户自定义异常的两个关键点:

·异常定义:在PL/SQL块的声明部分采用EXCEPTION关键字声明异常,定义方法与定义变量相同。比如声明一个myexception异常方法是:

myexception EXCEPTION;

·异常引发:在程序可执行区域,使用RAISE关键字进行引发。比如引发myexception方法是:

RAISE myexception;

案例11:自定义异常

代码演示:自定义异常

SQL> DECLARE

  2      sal emp.sal%TYPE;

  3      myexp EXCEPTION;  

  4  BEGIN

  5      SELECT sal INTO sal FROM emp WHERE ename='JAMES';

  6      IF sal<5000 THEN

  7         RAISE myexp;  

  8      END IF;

  9  EXCEPTION

 10      WHEN NO_DATA_FOUND THEN

 11           dbms_output.put_line('NO RECORDSET FIND!');

 12      WHEN MYEXP THEN  

 13           dbms_output.put_line('SAL IS TO LESS!');

 14  END;

 15  /

SAL IS TO LESS!

PL/SQL procedure successfully completed

代码解析:

① 用EXCEPTION定义一个异常变量myexp

② 在一定条件下用RAISE引发异常myexp

③ 在异常处理部分,捕获异常,如果不处理异常,该异常就抛给程序执行者。

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙