0

我一直在尝试访问以下代码

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 我可以使用即在选择语句中没有提供足够的值来处理这些类型的错误吗...

如果不是,System Defined Unnamed Exception 使用PRAGMA EXCEPTION_INIT.

4

1 回答 1

3

异常处理程序可以捕获运行时错误。他们无法捕获编译错误。编译器在编译代码时发现它在语法上是无效的——INTO子句中没有指定足够的值。因此,在执行代码之前引发异常。

于 2012-06-28T15:17:32.783 回答