Foros del Web » Programando para Internet » PHP »

Error trivial, try catch captan excepciones nativas?

Estas en el tema de Error trivial, try catch captan excepciones nativas? en el foro de PHP en Foros del Web. Estimados, hace rato no tenia un error tan trivial pero quiero que me saquen una duda. Ejemplo de codigo: try{ $res =2/0; }catch(Exception $oops){ echo ...
  #1 (permalink)  
Antiguo 12/04/2012, 20:56
Avatar de titocba  
Fecha de Ingreso: agosto-2008
Ubicación: Cordoba
Mensajes: 256
Antigüedad: 15 años, 8 meses
Puntos: 4
Error trivial, try catch captan excepciones nativas?

Estimados, hace rato no tenia un error tan trivial pero quiero que me saquen una duda.

Ejemplo de codigo:

try{
$res =2/0;
}catch(Exception $oops){
echo "División por cero";
}



Cual es el motivo de que Php no capte en tiempo de ejecucion esta excepcion??(con esto quiero decir que no enra por el catch y muestra en pantalla la excepcion de division por 0)
Estoy usando la version de php PHP Version 5.2.17
  #2 (permalink)  
Antiguo 12/04/2012, 21:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error trivial, try catch captan excepciones nativas?

Hola titocba, el soporte de Excepciones de PHP, aunque es completo, no funciona con las funciones y/o errores nativos de PHP (como en otros lenguajes como Java).

Tendrías que hacer una librería "Math" donde hagas ese chequeo y lances la excepción correspondiente, por ejemplo:
Código PHP:
Ver original
  1. class Math
  2. {
  3.        public function divide($num1, $num2)
  4.        {
  5.                  if ($num2 == 0) throw new MathException('no se permite dividir por 0');
  6.  
  7.                  return $num1 / $num2;
  8.        }
  9. }

Saludos.
  #3 (permalink)  
Antiguo 12/04/2012, 21:58
Avatar de titocba  
Fecha de Ingreso: agosto-2008
Ubicación: Cordoba
Mensajes: 256
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: Error trivial, try catch captan excepciones nativas?

Enendido, me imaginaba que no lo soportaba, bueno muchas gracias Gator, sirvio para salir de la duda tu opinión.

Etiquetas: catch, excepciones
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 11:34.