在PL/SQL中一个警告或错误的情形都叫做异常。通常说的异常处理是针对运行时刻错误进行的处理。异常处理的格式一般如下:
BEGIN
EXCEPTION
WHEN excep_name1 THEN
......
WHEN excep_name2 THEN
......
WHEN OTEHRS THEN
......
END;
常见异常情况:
CURSOR_ALREADY_OPEN 试图打开一个已打开的光标
DUP_VAL_ON_INDEX 试图破坏一个唯一性限制
INVALID_CURSOR 试图使用一个无效光标
INVALID_NUMBER 试图对非数字值进行数字操作
LOGIN_DENIED 无效的用户名或口令
NO_DATA_FOUND 查询未找到数据
NOT_LOGGEN_ON 还未连接就试图数据库操作
PROGRAM_ERROR 内部错误
ROWTYPE_MISMATCH 主变量和光标的类型不兼容
STORAGE_ERROR 内部错误
TIMEOUT_ON_RESOURCE 发生超时
TOO_MANY_ROWS SELECT INTO 命令返回的多行
TRANSACTION_BACKED_OUT 由于死锁提交被退回
VALUE_ERROR 转换或剪裁错误
ZERO_DIVIDE 试图被零除
当一个异常情态是在块的执行部分引发的时,PL/SQL 使用下面的规则确定激活哪一个异常处理器:
1,若当前块对该异常情态设置了处理器,则执行它并成功完成该快的执行,然后控制转给包含块。
2,若当前块没有该处理器,则通过在包含块中引发它来传播异常情态,然后对包含块执行PL/SQL的异常操作。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16683570/viewspace-578384/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16683570/viewspace-578384/