我正在编写一个pl-sql脚本,其中有大约10个TO_CHAR转换。
其中一个正在扔一个
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
异常(exception)。
目前,我使用这段代码记录消息
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('Exception message is '||SQLERRM(sqlcode));
ROLLBACK;
我想添加(主要用于调试目的)抛出异常的行,以便接收以下形式的消息
ORA-06502: PL/SQL: numeric or value error: character string buffer too small (at line x)
是否有捷径可寻?
最佳答案
你需要10克才能使用
DBMS_OUTPUT.put_line('在'|| $$ plsql_line中出现错误'|| $$ plsql_unit ||');
也考虑使用
DBMS_UTILITY.format_error_backtrace
Steven Feuerstein在Oracle Magazine于2005年4月发表了一篇文章:
http://www.oracle.com/technetwork/issue-archive/2005/05-mar/o25plsql-093886.html
干杯,尼尔斯
关于logging - 有没有办法获取引发异常的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1589252/