oracle存储过程抛出异常
时间: 2023-06-30 20:25:00 浏览: 114
Oracle存储过程中自定义异常
当Oracle存储过程中出现错误时,可以使用EXCEPTION块来捕获和处理异常。在EXCEPTION块中,可以使用RAISE语句来抛出异常。下面是一个例子:
```
CREATE OR REPLACE PROCEDURE my_procedure
AS
v_num NUMBER := 100;
BEGIN
IF v_num > 99 THEN
RAISE_APPLICATION_ERROR(-20001, 'Number is too big');
END IF;
-- other code here
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error occurred: ' || SQLCODE || ' - ' || SQLERRM);
END;
```
在上面的代码中,如果v_num的值大于99,则会抛出一个自定义异常。在EXCEPTION块中,使用DBMS_OUTPUT.PUT_LINE函数输出错误信息。
注意,使用RAISE_APPLICATION_ERROR语句抛出异常时,第一个参数是一个负数,这个负数是一个错误代码,用来标识异常。
阅读全文