Re: User defined exceptions - Mailing list pgsql-sql

From Pavel Stehule
Subject Re: User defined exceptions
Date
Msg-id CAFj8pRCeqR2m5fCtbAn6tUaZRoNb-w+bGeL7-A9qr72_GqBY_w@mail.gmail.com
Whole thread Raw
In response to User defined exceptions  (Alex Ignatov <a.ignatov@postgrespro.ru>)
List pgsql-sql


2015-07-15 16:10 GMT+02:00 Alex Ignatov <a.ignatov@postgrespro.ru>:
Hello all!
Trying to emulate "named" user defined exception with:
CREATE OR REPLACE FUNCTION exception_aaa ()  RETURNS text AS $body$
BEGIN
   return 31234;     
END;
$body$
LANGUAGE PLPGSQL
SECURITY DEFINER
;

do $$
begin
   raise exception using errcode=exception_aaa();
exception
   when  sqlstate exception_aaa()
   then
      raise notice 'got exception %',sqlstate;
end;
$$
 
Got:

ERROR:  syntax error at or near "exception_aaa"
LINE 20: sqlstate exception_aaa()

I looks like "when  sqlstate exception_aaa()" doesn't work.

How can I catch exception in this case?

this syntax is working only for builtin exceptions. PostgreSQL has not declared custom exceptions like SQL/PSM.

You have to use own sqlcode and catch specific code.

Regards

Pavel 
-- 
Alex Ignatov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company




Avast logo

This email has been checked for viruses by Avast antivirus software.
www.avast.com



pgsql-sql by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: User defined exceptions
Next
From: Alexey Bashtanov
Date:
Subject: Re: User defined exceptions