Re: BUG #16405: Exception P0004 not caught in EXCEPTION WHEN OTHERS - Mailing list pgsql-bugs

From Jacob Crell
Subject Re: BUG #16405: Exception P0004 not caught in EXCEPTION WHEN OTHERS
Date
Msg-id CADvKwnZ0GecpHSx9Oo92tqCDfXM=NZC1FRrJH-HEy1g-tGkpJg@mail.gmail.com
Whole thread Raw
In response to Re: BUG #16405: Exception P0004 not caught in EXCEPTION WHEN OTHERS  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Thanks for the reply Tom! Makes sense. 



On Thu, Apr 30, 2020 at 12:04 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
PG Bug reporting form <noreply@postgresql.org> writes:
> Excepted Behavior: P0004 exception is caught in EXCEPTION WHEN OTHERS,
> function returns text 'Hit the Other exception block'.
> Actual Behavior: P0004 exception is raised and remains uncaught.

That's intentional, per the documentation [1]:

    The special condition name OTHERS matches every error type except
    QUERY_CANCELED and ASSERT_FAILURE. (It is possible, but often unwise,
    to trap those two error types by name.)

                        regards, tom lane

[1] https://www.postgresql.org/docs/current/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #16405: Exception P0004 not caught in EXCEPTION WHEN OTHERS
Next
From: Francisco Olarte
Date:
Subject: Re: BUG #16403: set_bit function does not have expected effect