ASP.NET - Excepciones

   
Vista:

Excepciones

Publicado por Alejandro Lopez (17 intervenciones) el 30/07/2009 16:10:55
Hola que tal:

Estoy desarrollando una aplicacion de una biblioteca en la cual, obviamente, no puedo dar de baja a algun usuario si tiene libros pendientes de entregar.

En terminos de base de datos esto es, las tablas tienen integridad regerencial para que no me permita hacer eso.

Mi dude es:

Que es mejor para capturar los errores de ese tipo:

1. Al momento de presionar el boton de eliminar , primero ejecutar un proceso que busque en la bd que el usuario no tenga libros registrados. Si no tiene entonces lo eliminio ejecutando el query correspondiente. Pero si si tiene , no eliminarlo y notificarlo.

2. Ejecutar el query DELETE sin verificar si tiene libros pendientes. Si tuviera libros pendientes entonces con una tyr catch capturar el mensje de error.
try
{
Intenta eliminar
}
catch (IfException ex)

{
if (ex.Message == "ERROR [23000] [Informix .NET provider][Informix]Key value for constraint (informix.u774_433719) is still being referenced.") //Error por integridad referencial
{ No ejecuta el query y manda mensaje notificando}


}

Cual es la mejor forma de manejar estas situaciones y por que?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Excepciones

Publicado por m (121 intervenciones) el 30/07/2009 18:09:09
Hola,
la primer opcion, es la mejor porque en caso de que
alguien quitara la restriccion del foreign key en la BD podrias
borrar personas que tienen libros.
Independientemente de que la base de datos tenga
reglas tu debes implementar lo mismo en tu aplicacion
aunque parezca redundante.
Le da una mayor 'estabilidad' a tu aplicacion.
Procura utilizar las excepciones para eso: para que
se ejecute cuando ocurra una 'excepcion' no cuando
ejecutas algun comando normal como borrar a un usuario.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Excepciones

Publicado por Alejandro Lopez (17 intervenciones) el 30/07/2009 18:41:05
Muy buena respuesta
"Procura utilizar las excepciones para eso: para que
se ejecute cuando ocurra una 'excepcion' no cuando
ejecutas algun comando normal como borrar a un usuario"
eso lo dice todo
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar