优秀的编程语言都能够正确处理各种出错情况,并尽可能从错误中恢复。OceanBase 数据库的 PL 提供异常情况(EXCEPTION)和异常处理(EXCEPTION HANDLER)来实现错误处理。

    异常处理(EXCEPTION)是用来处理正常执行过程中未预料的事件,包括预定义的错误和自定义错误。一旦 PL 程序块产生异常又没有指出如何处理,程序就会自动终止。

    异常处理部分的语句一般位于 PL 程序体的后半部分,语法结构如下:

    1. EXCEPTION
    2. WHEN first_exception THEN <code to handle first exception >
    3. WHEN second_exception THEN <code to handle second exception >
    4. WHEN OTHERS THEN <code to handle others exception >
    5. END;

    注意

    异常处理可以按任意次序排列,但 OTHERS 的位置必须在最后。