在 OTHERS 异常块中,我想显示异常的类型。
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE( -- I want to display the type of exception here -- );
END;
在 OTHERS 异常块中,我想显示异常的类型。
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE( -- I want to display the type of exception here -- );
END;
我更喜欢健壮的异常块,而不是EXCEPTION WHEN OTHERS THEN
没有任何特定目的的琐碎。永远记住,你捕获异常然后做一些事情。否则,您需要重新提升它以将句柄还给调用者。
在您的异常块中,添加以下内容:
DBMS_UTILITY. FORMAT_ERROR_STACK;
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
这将为您提供错误堆栈,回溯过程将让您知道错误的确切行数。由于 EXCEPTION 从调用者那里获取句柄,因此调用者永远不会知道引发的错误。包含RAISE
语句以重新引发错误并将其返回给调用者。最好有一个错误记录表来记录错误以供将来研究。
至于其他人,请阅读我的文章, http: //lalitkumarb.wordpress.com/2014/05/02/when-others-then-null-a-bug/