SQL Server - Contro de Errores Try - Catch

 
Vista:

Contro de Errores Try - Catch

Publicado por carlos (1 intervención) el 29/03/2012 08:05:45
Hola a todos, espero puedan ayudarme.

Estoy agregando control de errores a mis procedures con "try, catch". Funciona bien con instrucciones insert y update, pero el problema es que try catch no captura errores cuando utilizo select o delete. Por ejemplo cuando hago un select a una tabla que no existe simplemente try catch no controla el error. He probado con la variable @@ERROR y tampoco lo captura como error.

Como puedo hacer para controlar este tipo de error? 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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Contro de Errores Try - Catch

Publicado por Isaias (4558 intervenciones) el 29/03/2012 22:51:37
Seria muy, pero muy extraño que hicieras o intentaras hacer un INSERT, DELETE, UPDATE o SELECT a una vista o tabla que NO EXISTA.

Pero bueno, no deberias hacerlo con TRY-CATCH, deberia ser:

IF NOT EXISTS(SELECT name FROM [Database]..sysobjects WHERE name = N'TableName' AND xtype='U')
-- Accion a realizar
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

Contro de Errores Try - Catch

Publicado por carlos (1 intervención) el 04/04/2012 17:10:22
OK gracias por tus comentarios voy a revisarlo.

Ah, tienes razón por lo de extraño, pero yo me pongo en el caso de que alguien borre por accidente la tabla de la base de datos, entonces el sp (que se creó cuando la tabla existía) va a fallar cuando se ejecute.

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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Contro de Errores Try - Catch

Publicado por Isaias (4558 intervenciones) el 12/04/2012 19:44:37
Opssssssssssss, "alguien borre por accidente la tabla de la base de datos"

Eso si para que veas es muy DRAMATICO, porque supongo yo, que solo el DBA podria realizar dicha operacion y esto........... solo y solo si, fue aprobado en un ambiente de QA (testing).

Hay que tener mucho cuidado quien tiene derecho a dar DROP a los objetos en un ambiente productivo.

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