优秀的编程语言都能够正确处理各种出错情况,并尽可能从错误中恢复。OceanBase 数据库的 PL 提供异常情况(EXCEPTION)和异常处理(EXCEPTION HANDLER)来实现错误处理。
异常处理(EXCEPTION)是用来处理正常执行过程中未预料的事件,包括预定义的错误和自定义错误。一旦 PL 程序块产生异常又没有指出如何处理,程序就会自动终止。
异常处理部分的语句一般位于 PL 程序体的后半部分,语法结构如下:
EXCEPTION
WHEN first_exception THEN <code to handle first exception >
WHEN second_exception THEN <code to handle second exception >
WHEN OTHERS THEN <code to handle others exception >
END;
注意
异常处理可以按任意次序排列,但 OTHERS 的位置必须在最后。