异常
EXCEPTION
预定义异常
系统已经设置好的异常,包含了异常名,异常代码,异常信息组成
CASE NOT FOUND
未知异常:OTHERS
异常信息:SQLERRM
错误代码:SQLCODE
有各种各样的很多异常
捕获异常的语法
DECLARE
BEGIN
EXCEPTION
WHEN 异常名 THEN
要执行的代码
WHEN 异常名 THEN
要执行的代码
WHEN 异常名 THEN
要执行的代码
------只能捕获到异常,捕获到异常后会执行相应的 代码,但是不会修改异常
END;
如果不知道前面可能会出现什么错误,就用OTHERS捕获异常。
非预定义异常
包含了异常信息和异常代码
语法:
DECLARE
异常名 EXCEPTION; ---自己声明一个异常名
PRAGMA EXCEPTION_INIT(异常名,异常代码) ---将异常名和现有的异常代码进行绑定
BEGIN
EXCEPTION ---捕获异常
WHEN 异常名
THEN
执行的代码
自定义异常
语法:
DECLARE
异常名 EXCEPTION;
PRAGMA EXCEPTION_INIT(异常名,-20001~-20999) --只能在-20001~-20999范围内取代码
BEGIN
---手动抛出异常
RAISE_APPLICATION_ERROR(异常代码,异常信息); ----异常信息是自定义的。
EXCEPTION
WHEN 异常名 THEN
要执行的代码。
END;