Re: User defined exceptions

Поиск
Список
Период
Сортировка
От Alex Ignatov
Тема Re: User defined exceptions
Дата
Msg-id 55A91FDB.1010706@postgrespro.ru
обсуждение исходный текст
Ответ на User defined exceptions  (Alex Ignatov <a.ignatov@postgrespro.ru>)
Список pgsql-sql
<br /><br /><div class="moz-cite-prefix">On 17.07.2015 10:34, Alexey Bashtanov wrote:<br /></div><blockquote
cite="mid:55A8AFF3.7040305@ocslab.com"type="cite"><div class="moz-cite-prefix">On 15.07.2015 17:10, Alex Ignatov
wrote:<br/></div><blockquote cite="mid:%3C55A669CA.3070302@postgrespro.ru%3E" type="cite"> Hello all!<br /> Trying to
emulate"named" user defined exception with:<br /> CREATE OR REPLACE FUNCTION exception_aaa ()  RETURNS text AS
$body$<br/> BEGIN<br />    return 31234;      <br /> END;<br /> $body$<br /> LANGUAGE PLPGSQL<br /> SECURITY DEFINER<br
/>;<br /><br /> do $$<br /> begin<br />    raise exception using errcode=exception_aaa();<br /> exception <br />   
when sqlstate exception_aaa()<br />    then<br />       raise notice 'got exception %',sqlstate;<br /> end;<br /> $$<br
/> <br /> Got:<br /><br /> ERROR:  syntax error at or near "exception_aaa"<br /> LINE 20: sqlstate exception_aaa()<br
/><br/> I looks like "when  sqlstate exception_aaa()" doesn't work. <br /><br /> How can I catch exception in this
case?<br/></blockquote><br /> Hello Alex,<br /><br /> The following workaround could be used:<br /><br /> do $$<br />
begin<br/>    raise exception using errcode = exception_aaa();<br /> exception<br />    when others then<br />       if
sqlstate= exception_aaa() then<br />          raise notice 'got exception %',sqlstate;<br />       else<br />         
raise;--reraise<br />       end if;<br /> end;<br /> $$<br /><br /> Not sure if its performance is the same as in
simpleexception catch, maybe it would degrade.<br /><br /> Best Regards,<br />    Alexey Bashtanov<br /></blockquote>
Yepalready used this trick =)<br /> Anyway thank you!<br /><pre class="moz-signature" cols="72">-- 
 
Alex Ignatov
Postgres Professional: <a class="moz-txt-link-freetext"
href="http://www.postgrespro.com">http://www.postgrespro.com</a>
The Russian Postgres Company

</pre><br /><br /><hr style="border:none; color:#909090; background-color:#B0B0B0; height: 1px; width: 99%;" /><table
style="border-collapse:collapse;border:none;"><tr><tdstyle="border:none;padding:0px 15px 0px 8px"><a
href="https://www.avast.com/antivirus"><img alt="Avast logo" border="0"
src="http://static.avast.com/emails/avast-mail-stamp.png"/> </a></td><td><p style="color:#3d4d5a;
font-family:"Calibri","Verdana","Arial","Helvetica";font-size:12pt;"> This email has been checked for viruses by Avast
antivirussoftware. <br /><a href="https://www.avast.com/antivirus">www.avast.com</a></td></tr></table><br /> 

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

Предыдущее
От: Alexey Bashtanov
Дата:
Сообщение: Re: User defined exceptions
Следующее
От: Alexey Bashtanov
Дата:
Сообщение: Re: User defined exceptions