我能否在抛出异常时创建自定义条件呢?考虑以下例子:
BEGIN
y := x / 0;
EXCEPTION
WHEN division_by_zero THEN
RAISE NOTICE 'caught division_by_zero';
RETURN x;
END;
在这里,我使用“division_by_zero”条件来捕获异常。我想做的是像这样:
BEGIN
[...]
RAISE custom_condition;
EXCEPTION
WHEN custom_condition THEN
[...]
END;
为了不干扰可能出现的标准异常,我可以使用y:= 1/0;并捕获division_by_zero异常,但这看起来不太对。
invalid SQLSTATE code
)。这里是你链接中的说明:“注意:当通过SQLSTATE代码指定错误代码时,并不局限于预定义的错误代码,而是可以选择由五个数字和/或大写ASCII字母组成的任何错误代码,除00000之外。建议避免抛出以三个零结尾的错误代码,因为这些是类别代码,只能通过捕获整个类别来捕获。” - Snifff