Sni*_*fff 9 postgresql exception-handling exception custom-exceptions conditional-statements
在引发异常时是否可以创建自定义条件?请考虑以下示例:
BEGIN
y := x / 0;
EXCEPTION
WHEN division_by_zero THEN
RAISE NOTICE 'caught division_by_zero';
RETURN x;
END;
Run Code Online (Sandbox Code Playgroud)
在这里,我使用'division_by_zero'条件来捕获异常.我想做的是这样的事情:
BEGIN
[...]
RAISE custom_condition;
EXCEPTION
WHEN custom_condition THEN
[...]
END;
Run Code Online (Sandbox Code Playgroud)
这样我就不会干扰可能的标准异常.我可以做y:= 1/0; 并抓住division_by_zero,但它看起来并不正确.
Tom*_*zky 18
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;
Run Code Online (Sandbox Code Playgroud)
更多信息:
| 归档时间: |
|
| 查看次数: |
10170 次 |
| 最近记录: |