捕获所有错误psql函数异常

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)

没有一些例外,使用这个条款并不是一个好主意.使用此模式时,调试,问题诊断可能会非常糟糕.它是强大的功能(有时是必要的),但危险!