-- Start
PL/SQL 异常处理和 Java 有点类似,我们可以捕获并处理异常,抛出异常,自定义异常等。下面是一个简单的例子。
DECLARE
NAME VARCHAR2(10);
BEGIN
SELECT 'SHANGBO' INTO NAME FROM DUAL WHERE 1 = 2;
-- 异常处理部分
EXCEPTION
-- 异常处理分支一:处理 NO_DATA_FOUND 异常
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE ('NO DATA FOUND');
-- 异常处理分支二:OTHERS 表示处理任何类型的异常
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE ('UNEXPECTED ERROR');
RAISE; -- RAISE 表示向上抛出异常
END;
Oracle 预定义异常
上面的例子中,NO_DATA_FOUND 是 Oracl