内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-06510常见PL/SQL
PL/SQL:未处理的用户自定义异常
PL/SQL: unhandled user-defined exception
错误描述
PL/SQL 中引发了用户自定义异常,但未找到异常处理程序来捕获它。异常传播到顶层并导致程序单元失败。
可能原因
- 执行了 RAISE 语句但 EXCEPTION 块中没有匹配的 WHEN 处理程序
- 在包规范中声明的异常未被调用者处理
- 最外层 PL/SQL 块中缺少 WHEN OTHERS 子句
解决方案
- 1为用户自定义异常添加适当的 EXCEPTION WHEN 处理程序
- 2添加 WHEN OTHERS 处理程序以记录和重新抛出意外异常
- 3在包规范中记录所有用户自定义异常
诊断命令
SELECT text FROM dba_source WHERE name = 'PROC_NAME' AND type = 'PROCEDURE' ORDER BY line;SELECT * FROM dba_errors WHERE name = 'PROC_NAME' AND type = 'PROCEDURE';#plsql#exception#user-defined#error-handling