logging - 有没有办法获取引发异常的行号?

标签 logging plsql

我正在编写一个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/

相关文章:

python - 设置处理程序和日志级别后,记录器不打印调试消息

plsql - PL/SQL中的DateAdd函数

sql - 如何调用 pl/sql 存储过程(函数,返回数值)?

maven - 如何将log4j + slf4j添加到pom.xml?

android - 使用 Crashlytics 将记录的异常(非致命)强制发送到服务器

java - 使用 log4j2 的多线程的不同日志文件

c++ - 如何配置 boost 日志,用于旋转和附加写入?

一进多出Oracle Run Procedure

jenkins - Sonarqube PLSQL 自定义规则,用于在 SQL 脚本文件中检测正确的 SQL 终止符分号

oracle - 如何同时运行两个或多个 Oracle 作业实例?