PostgreSQL自定义异常条件 [英] PostgreSQL custom exception conditions
本文介绍了PostgreSQL自定义异常条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
引发异常时是否可以创建自定义条件?
考虑以下示例:
Is it possible to create custom conditions when I raise an exception? Consider the following example:
BEGIN
y := x / 0;
EXCEPTION
WHEN division_by_zero THEN
RAISE NOTICE 'caught division_by_zero';
RETURN x;
END;
在这里,我使用 division_by_zero条件来捕获异常。
我想做的是这样的:
Here I use 'division_by_zero' condition to catch the exception. What I'd like to do is something like this:
BEGIN
[...]
RAISE custom_condition;
EXCEPTION
WHEN custom_condition THEN
[...]
END;
这样我就不会干扰可能的标准例外情况。我可以做y:= 1/0;并捕获divide_by_zero,但看起来不正确。
so that I don't interfere with possible standard exceptions. I could just do y:= 1 / 0; and catch division_by_zero, but it does not look right.
推荐答案
begin
if $1='bar' then
raise exception using
errcode='NOBAR',
message='Bar is prohibited',
hint='We do not talk to this guy';
end if;
exception
when sqlstate 'NOBAR' then
update nobar_raised set count=count+1;
end;
更多信息:
这篇关于PostgreSQL自定义异常条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文