Foros del Web » Programando para Internet » PHP »

Excepciones con PHP

Estas en el tema de Excepciones con PHP en el foro de PHP en Foros del Web. Hola, estoy utilizando PHP 5 y no me queda claro el tema de las EXCEPCIONES . Las excepciones las tenemos que crear nosotros mismos no? ...
  #1 (permalink)  
Antiguo 30/06/2005, 10:35
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 20 años, 9 meses
Puntos: 0
Excepciones con PHP

Hola,

estoy utilizando PHP 5 y no me queda claro el tema de las EXCEPCIONES.

Las excepciones las tenemos que crear nosotros mismos no? Es decir que no las trae por defecto. A continuación pongo varios ejemplos:

1)

$res = 7/0;

En esta división no salta una Excepción, da un error. Es decir, yo pongo:

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

Y no me mustra por pantalla la frase : División por cero. Me sale el error.


2)

try{

$res = mysql_connect(...);
}catch(Exception $oops){

....

}

Lo mismo que antes, sale el error.


Alguién me puede aclarar este tema?

Gracias por la ayuda.
  #2 (permalink)  
Antiguo 30/06/2005, 12:18
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
hasta donde he podido constatar, php no tiene excepciones nativas. Tal vez algunos nuevas clases nativos que yo no conozca las tengan, sin embargo aún clases nativas como mysqli no tienen excepciones.
En síntesis, la única forma de hacer lo que quieres es usando wrappers, es decir, para dividir, tu puedes crear tu propia clase

Código PHP:
class DivideByZeroException extends Exception {}
class 
Math {
public static function 
Divide($Number$Number2){
if ( 
$Number2 == )
{
throw new 
DivideByZeroException("Cannot divide by zero");
}
return 
$Number/$Number2;
}

try {
Math::Divide(1,0);
}
catch ( 
DivideByZeroException $Exception )
{
//whatever

  #3 (permalink)  
Antiguo 30/06/2005, 12:36
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 20 años, 9 meses
Puntos: 0
Gracias por la aclaración.
  #4 (permalink)  
Antiguo 30/06/2005, 16:27
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Leyendo el amnual puedes quitarte varias dudas.
http://www.php.net/exceptions

También puedes ver algo en la spl (Standard PHP Library):
http://www.php.net/~helly/php/ext/sp...Exception.html

Saludos
  #5 (permalink)  
Antiguo 21/08/2006, 17:09
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 3 meses
Puntos: 0
Con versiones anteriores a PHP5 no puedo evitar que me salga el "Warning division by zero at......" Tengo una tabla y me la escoloca toda, con eso.
Cuando no haré condicionales para cada variable pero tengo muchas y es un coñazo.

Todas esas vars me terminan en _T. Hay alguna forma de "decirle" que todas las var acabas en _T=1????

Gracias
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 23:12.