Foros del Web » Programando para Internet » PHP »

Try throw catch

Estas en el tema de Try throw catch en el foro de PHP en Foros del Web. Hola a todos, Tengo miedo de que mi codigo que hace una insercion en una tabla se vaya al pairo cuando entre un numero aceptable ...
  #1 (permalink)  
Antiguo 16/10/2009, 03:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 112
Antigüedad: 15 años, 9 meses
Puntos: 0
Try throw catch

Hola a todos,

Tengo miedo de que mi codigo que hace una insercion en una tabla se vaya al pairo cuando entre un numero aceptable de gente entonces quiero poner try y catch para controlar los posibles errores que vaya a dar.

Tengo todo el código con un try, al final del try un throw y un unico catch fuera del try.

Ahora tengo dos preguntas, si no pongo más catch entiendo que ante cualquier error el catch ejecutará su código, verdad?
Y como puedo revisar que se ejecuta bien el try, es decir, qué puedo hacer para provocar un error que haga que el codigo del catch se ejecute?

Gracias!
  #2 (permalink)  
Antiguo 16/10/2009, 06:21
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Try throw catch

primero debes de usar un modelo de abstracción de bases de datos que te genere una instancia derivada de Exception, para que así puedas controlarlo con un bloque try de lo contrario nada pasará, si lo que quieres es evitar que data relacionada se corrumpa por la interrupción del scipt usa transacciones SQL:

START TRANSACTION;
"CONSULTAS SQL"
COMMIT;
  #3 (permalink)  
Antiguo 16/10/2009, 10:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Try throw catch

Segundo los catch se ejecutan en forma anidada, si no lo cachas se va hasta el ultimo bloque catch que encuentre o de lo contrario marca un error fatal de un catch no "cachado".

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:19.