pl/sql中的错误处理

1 oracle plsql exception-handling

我想知道PL/SQL中的错误处理.有谁能帮我找到关于这个主题的简短描述?

Fru*_*ner 5

每个块都可以有一个异常处理程序.例:

DECLARE
    /* declare your variables */
BEGIN
    /*Here is your code */
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        /* HAndle an error that gets raised when a query returns nothing */
    WHEN TOO_MANY_ROWS THEN
        /* HAndle the situation when too much data is returned such as with a select-into */
    WHEN OTHERS THEN
        /* Handle everything else*/
END;
Run Code Online (Sandbox Code Playgroud)

此链接将告诉您更多信息:http://download.oracle.com/docs/cd/B13789_01/appdev.101/b10807/07_errs.htm

该链接将向您显示比我更多的详细信息,以及有关如何创建自己的例外名称的示例.

总是让我兴奋的一个项目是,如果你有一个函数并且你在异常处理程序中没有返回一个值,那么在调用函数中会抛出一个异常.没什么大不了的,但我似乎总是忘记那个.

  • 如果未在较低的块中捕获异常,则会将其传播到更高级别的块(最终传播到客户端).适用旧规则 - 永远不要检查您不知道如何处理的错误情况.让它流动起来.更高级别的块将捕获它,或者调用将失败并且客户端应用程序(或用户)将处理它. (2认同)