Posted on 2006-04-12 16:49
RichMartin 阅读(149)
评论(0) 编辑 收藏
错误处理
1.异常类型:
1.1.自定义
DELCLARE
E_ EXCEPTION
1.2.预定义
ORA-0001
2.异常处理过程:
DECLARE
e_t EXCEPTION;
BEGIN
...
RAISE e_t;
EXCEPTION
WHEN e_t THEN
...
...;
WITH OTHERS
...
...;
END
END
3.一个异常只能有一个处理器
4.可以用SQLCODE,和 SQLERRM来得到出错代码和文本
5.使用RAISE_APPLICATION_ERROR
创建自己的错误消息.错误转出方式类似天ORACLE错误转移到调用环境中
RAISE_APPLICATION_ERROR(error_num,error_mesg,[]);
error_num;-2000-- -20999
len( error_mesg)<512
6.异常传播方式
异常可能会发生在声明 异常处理和执行块中
如果在执行中就会最近在本块中处理,如果处理成功则成功否则失败,否则向外送,如果有处理则成功否则失败
如果在声明中出错,那么向外送,如果有处理就成功否则失败
如果在异常处理中出错.向外送出,如果有处理就成功否则失败
7.通用错误处理
当无法处理是哪部分代码产生的错误时可以用
DBMS_UTILITY.FORMAT_CALL_STACK()
8. 用到的几个函数或关键字
SQLCODE()
SQLERRM()
PRAGMA EXCEPTION_INIT(E_NAME,E_NUM);
RAISE_APPLICATION_ERROR(ERR_NUM,ERRO_MESG,[]);
RAISE
EXCEPTION
--END 2005-09-29 15.28