Обсуждение: Throwing exceptions

Поиск
Список
Период
Сортировка

Throwing exceptions

От
Germán Hüttemann Arza
Дата:
Hi,

I need a way to throw a message in a function, when an exception occurs, but I
don't want to write again and again the same message in every place I need to
throw it. So, is there a way to handle this situation in a more general
manner?

Thanks in advance,

--
Germán Hüttemann Arza
CNC - Centro Nacional de Computación
UNA - Universidad Nacional de Asunción
Campus Universitario, San Lorenzo - Paraguay
http://www.cnc.una.py - Tel.: +595 21 585550

Re: Throwing exceptions

От
Michael Glaesemann
Дата:
On Jun 21, 2007, at 10:30 , Germán Hüttemann Arza wrote:

> I need a way to throw a message in a function, when an exception
> occurs, but I
> don't want to write again and again the same message in every place
> I need to
> throw it. So, is there a way to handle this situation in a more
> general
> manner?

The message is just a string. Assign the message to a variable and
use the variable in place of the message. For example, in PL/pgSQL:

k_error_message := 'Boom! %';
RAISE EXCEPTION k_error_message, v_foo.id;

Hope that helps.

Michael Glaesemann
grzm seespotcode net



Re: Throwing exceptions

От
Michael Glaesemann
Дата:
On Jun 25, 2007, at 19:01 , Michael Glaesemann wrote:

> The message is just a string. Assign the message to a variable and
> use the variable in place of the message. For example, in PL/pgSQL:
>
> k_error_message := 'Boom! %';
> RAISE EXCEPTION k_error_message, v_foo.id;

I was wrong. The message is not just a string, but you can
interpolate the message text (and other variables) like so:

RAISE EXCEPTION '%, %', k_error_message, v_foo_id;

Michael Glaesemann
grzm seespotcode net