2017-02-02 19 views
0

例外をキャッチして無視する関数を書いています。私はすべての例外をキャッチし、それを無視したい。とにかく、すべての例外をキャッチするために、個別にではないですか?独自の例外の代わりにすべてのエラーを捕捉する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; 

、それはあなたがEXCEPTION WHEN OTHERS句を使用することができます

答えて

2

...任意の例外のようになります。この句を使用して、いくつかの例外なく

BEGIN 
    do some 
EXCEPTION WHEN OTHERS 
    handle any exception 
END; 

することは良いアイデアではありません。このパターンを使用すると、デバッグ、問題の診断がひどくなることがあります。強いフィーチャー(時には必要)ですが、危険です!

関連する問題