Re: Errores Personalizados

From: Santiago Zarate <santiago(at)zarate(dot)net(dot)ve>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Errores Personalizados
Date: 2009-01-11 09:41:55
Message-ID: a37e9c560901110141n58120d5fy8fa0de9b20fc546d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

A ver... si entendi bien lo que quieres es quitar un mensaje generico
y decir algo mas "especifico" en el contexto del error... e.j:

insert into tabla values (1, 'un texto');

si el servidor da un mensaje de error SQLXXXYZ, tu quieres decirle al
usuario "tal cosa ya existe en la tabla"

estoy seguro que en todos los lenguajes de programacion cuando
interactuas con una base de datos, generalemnte el driver o la
interfaz que utilizas para interactuar con la base de datos te permite
capturar los errores... alvaro ya te ha dicho varias veces esto...
(asi como otros que siguen el hilo)

la forma (mas sana) que yo veo para _resolver_ este problemita seria:

1: Identificar los mensajes de error que se quiera personalizar
3: Crear una tabla (en base de datos) o enum/array (del lado de la
aplicacion) y relacionar codigos de error +mensajes de servidor con un
registro en el enum matriz, o tabla en base de datos y el mensaje
definido por usuario
4: Revisar en la documentacion del driver la forma de leer los
mensajes de error enviados por el servidor
5: escribir las excepciones correspondientes en la aplicacion al
momento de ejecutar una consulta (select, insert, delete, etc) a la
base de datos...
6: en caso de que la consulta no sea exitosa, lanzar la excepcion y el
correspondiente mensaje

aca te dejo un ejemplo de una solucion en python claramente no es la
mejor, ni esta escrita de lo lindo... pero creo que podria daros una
idea de como resolver el problema

http://pastebin.com/f33182e74

de cualquier modo, lei mas arriba que lo estabas haciendo en .net
http://npgsql.projects.postgresql.org/docs/api/ aca esta la
documentacion revisa NpgsqlError supongo que seria suficiente para
hacer todo esto...

Otra forma podria ser modificando el codigo fuente de postgresql y
cambiar los codigos y mensajes de error... (aunque esto probablemente
traeria muchos otros problemas... creo...

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message marta vicente romero 2009-01-11 16:34:28 Como rellenar una columna de una vez,con valores no estaticos
Previous Message Santiago Zarate 2009-01-11 07:24:49 Re: Errores Personalizados