您的位置:首页 > 数据库 > Oracle

oracle数据异常处理--抛出特定异常(转)

2006-11-02 11:51 423 查看


1. 在PL/SQL 块的定义部分定义异常情况:

<异常情况> EXCEPTION;


2. 将其定义好的异常情况,与标准的ORACLE错误联系起来,使用EXCEPTION_INIT语句:

PRAGMA EXCEPTION_INIT(<异常情况>, <错误代码>);


3. 在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。

Associating a PL/SQL Exception with a Number: Pragma EXCEPTION_INIT

To handle error conditions (typically
ORA-
messages) that have no predefined name, you must use the
OTHERS
handler or the pragma
EXCEPTION_INIT
. A pragma is a compiler directive that is processed at compile time, not at run time.

In PL/SQL, the pragma
EXCEPTION_INIT
tells the compiler to associate an exception name with an Oracle error number. That lets you refer to any internal exception by name and to write a specific handler for it. When you see an error stack, or sequence of error messages, the one on top is the one that you can trap and handle.

You code the pragma
EXCEPTION_INIT
in the declarative part of a PL/SQL block, subprogram, or package using the syntax

PRAGMA EXCEPTION_INIT(exception_name, -Oracle_error_number);

where
exception_name
is the name of a previously declared exception and the number is a negative value corresponding to an
ORA-
error number. The pragma must appear somewhere after the exception declaration in the same declarative section, as shown in the following example:

DECLARE
deadlock_detected EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock_detected, -60);
BEGIN
null; -- Some operation that causes an ORA-00060 error
EXCEPTION
WHEN deadlock_detected THEN
null; -- handle the error
END;
/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: