我一直在尝试访问以下代码
DECLARE
N_DEPTNO DEPT.DEPTNO %TYPE :=&DEPT_NUM;
V_DNAME DEPT.DNAME %TYPE;
NOT_ENOUGH_VALUES EXCEPTION;
PRAGMA
EXCEPTION_INIT(NOT_ENOUGH_VALUES,-06502);
BEGIN
SELECT DNAME,LOC INTO DNAME FROM DEPT
WHERE DEPTNO = N_DEPTNO;
DBMS_OUTPUT.PUT_LINE('Successfully Fetched !!');
EXCEPTION
WHEN NOT_ENOUGH_VALUES THEN
DBMS_OUTPUT.PUT_LINE('No Enough Values ... ');
END;
在EXCEPTION块中指定后仍显示错误消息。
我可以使用PRAGMA EXCEPTION_INIT
处理这类错误吗?
即在select语句中没有提供足够的值......
如果不是System Defined Unnamed Exception
可以处理哪种类型的错误
使用PRAGMA EXCEPTION_INIT
。
答案 0 :(得分:3)
异常处理程序可以捕获运行时错误。他们无法捕获编译错误。编译器在编译代码时会发现它在语法上是无效的 - 在INTO
子句中没有指定足够的值。因此,在执行代码之前会引发异常。