BUG #16405: Exception P0004 not caught in EXCEPTION WHEN OTHERS

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #16405: Exception P0004 not caught in EXCEPTION WHEN OTHERS
Дата
Msg-id 16405-b2ea8017cd288002@postgresql.org
обсуждение исходный текст
Ответы Re: BUG #16405: Exception P0004 not caught in EXCEPTION WHEN OTHERS  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      16405
Logged by:          Jacob Crell
Email address:      jacobcrell@gmail.com
PostgreSQL version: 10.0
Operating system:   AWS Aurora
Description:

Create below function to return assertion failue:
CREATE OR REPLACE FUNCTION assert_fail()
RETURNS void
LANGUAGE plpgsql
AS $function$
BEGIN
    ASSERT FALSE, 'Assertion Failed';
END;
$function$;

Create this function to call above function and catch error:
CREATE OR REPLACE FUNCTION catch_assert_fail()
RETURNS text
LANGUAGE plpgsql
AS $function$
BEGIN
   SELECT * FROM meta.assert_fail();
   RETURN 'Function Finished';
   EXCEPTION WHEN OTHERS THEN
        RETURN 'Hit the Other exception block';
END;
$function$;

Run below to call function
SELECT * FROM catch_assert_fail()

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.


В списке pgsql-bugs по дате отправления:

Предыдущее
От: "断桥烟雨三两月"
Дата:
Сообщение: 回复: report bug
Следующее
От: Alex Movitz
Дата:
Сообщение: Re: BUG #16403: set_bit function does not have expected effect