Pav*_*adi 8 exception-handling plpgsql psql
我正在写一个异常捕获和忽略的函数.我想抓住所有异常并忽略它.反正有没有捕获所有的例外而不是单独的?
CREATE OR REPLACE FUNCTION ADD_TABLE_TO_ARCHIVE (a TEXT, b TEXT)
RETURNS INTEGER AS $SUCCESS$
DECLARE SUCCESS INTEGER;
BEGIN
SUCCESS = 0;
BEGIN
UPDATE ARCHIVE_STATUS
SET *****
WHERE ***;
SUCCESS = 1;
EXCEPTION
WHEN UNIQUE_VIOLATION
SUCCESS = 0;
END;
RETURN SUCCESS;
END;
$SUCCESS$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
取代唯一的例外,它应该是任何例外......
Pav*_*ule 15
你可以使用EXCEPTION WHEN OTHERS条款:
BEGIN
do something
EXCEPTION WHEN OTHERS THEN
handle any exception
END;
Run Code Online (Sandbox Code Playgroud)
没有一些例外,使用这个条款并不是一个好主意.使用此模式时,调试,问题诊断可能会非常糟糕.它是强大的功能(有时是必要的),但危险!