好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

详解Oracle自定义异常示例

1.弹出错误框:

示例代码:

?

1

2

3

4

5

6

7

8

declare

v_count number;

begin

select count (*) into v_count from dept;

if v_count < 10 then

raise_application_error(-20001, '数量小于10' );

end if;

end ;

执行结果:

2.控制台显示:

示例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

declare

v_count number;

my_exp exception;

begin

select count (*) into v_count from dept;

if v_count < 10 then

raise my_exp;

end if;

exception

when my_exp then

dbms_output.put_line( '数量小于10' );

when others then

dbms_output.put_line( '其他异常' );

end ;

执行结果:

PS:ORACLE 用户自定义异常小例子

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

CREATE OR REPLACE PROCEDURE test_Exception_byLeejin

(

ParameterA IN varchar ,

ParameterB IN varchar ,

ErrorCode OUT varchar --返回值,错误编码

)

AS

/*以下是一些变量的定义*/

V NUMBER;

V nvarchar();

V NUMBER;

APP_EXP EXCEPTION; --自定义异常

BEGIN

ErrorCode := '' ;

IF (ParameterA=ParameterB) THEN

ErrorCode := 'ParameterA = ParameterB' ;

RAISE APP_EXP; -- 抛出异常

END IF;

EXCEPTION

WHEN APP_EXP THEN --在处理异常

RAISE_APPLICATION_ERROR(-,ErrorCode);

WHEN OTHERS THEN

RAISE_APPLICATION_ERROR(-, '未知异常' );

END ;

 

查看更多关于详解Oracle自定义异常示例的详细内容...

  阅读:25次