How to trap exceptions inside PL/Perl functions? - Mailing list pgsql-general

From Dmitry Koterov
Subject How to trap exceptions inside PL/Perl functions?
Date
Msg-id d7df81620708150441o7a4133ebl85cecf1b4b9d84fd@mail.gmail.com
Whole thread Raw
List pgsql-general
Hello.

In PL/PGSQL I could write:

BEGIN
  SELECT * FROM non_existed_table;
EXCEPTION
  WHEN ... THEN ...
END;

How to do it in PL/Perl? I tried the standard for Perl trapping method:

eval {
  spi_exec_query("SELECT * FROM non_existed_table");
};
if ($@) { ... }

but it does not work - it says that "eval is not safe" or something like that. But I use eval with {}, not with quotes, so - it has to be safe.
So, how to trap errors in this case?

pgsql-general by date:

Previous
From: "Ivan Zolotukhin"
Date:
Subject: Best practice for: ERROR: invalid byte sequence for encoding "UTF8"
Next
From: Martijn van Oosterhout
Date:
Subject: Re: Best practice for: ERROR: invalid byte sequence for encoding "UTF8"