Excepciones en plpython

Oswaldo Hernández listas en soft-com.es
Mar Mayo 6 16:43:44 CEST 2008


Hola,

Estoy haciendo una funciones en plpython (PostgreSQL) y no consiguo capturar correctamente las 
excepciones de la base de datos, es decir,

En una funcion:

try:
     plpy.execute("select .......")
except Exception, e:
     plpy.error("Error ejecucion:<%s>, %s" % (e.__class__, str(e))

Si se produce un error del lado de la base de datos (sql erroneo, etc ..) siempre me tira la misma 
excepción, sea cual sea el error:
     "Error execute <<type 'exceptions.SystemError'>>, error return without exception set",

Al ejecutarlo en psql muestra los siguientes mensajes:
     WARNING:  plpython: in function pytest3:
     DETALLE:  <class 'plpy.SPIError'>: Unknown error in PLy_spi_execute_query

por lo que he intentado:
     except plpy.SPIError, e:

pero lo ignora y salta con la excepcion generica y el mensaje mecionado.

¿Alguien sabe como capturar correctamente las excepciones de PostgreSQL?

Gracias.

-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es