Oracle中如何定位报错的行
Oracle中如何定位报错的行
--Oracle中捕捉异常及异常发生的位置 可用于调试存储过程,尤其是很长的那种DECLARE
V_RATE NUMBER;--比例
V_RETINFO VARCHAR2(2000);--异常信息
BEGIN
SELECT 120/0 INTO V_RATE FROM DUAL;
--异常处理
EXCEPTION WHEN OTHERS THEN
V_RETINFO := SQLERRM||CHR(10)||SUBSTR(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE,1,1000);--获取异常信息及异常被抛出的初始位置[行]
DBMS_OUTPUT.PUT_LINE(V_RETINFO);
END;
在pl/sql developer 里运行上述代码,查看输出
ORA-01476: divisor is equal to zero
ORA-06512: at line 6
评论暂时关闭