[Php-objetos] Consulta sobre try catch

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Feb 16 21:40:53 ART 2009


Hola Andrés,

	efectivamente como dice Juan, la excepción se genera en el método, pero
el try-catch va en algúnotro lugar, que es donde querés que el error se
maneje.

	Y sí... la palabra PLAZAS va con Z... no es porque lo diga el
enunciado, es porque lo dice el DICCIONARIO.

	Seguimos!

El lun, 16-02-2009 a las 20:14 -0200, Andres Manuel escribió:
> Hola gente, aun con el ejercicio uno, pero mas dominado por suerte.
> Estoy tratando de hacer una validacion en el constructor de mi clase 
> auto, no sé como se implementa bien el try catch, pero le damos batalla
> Esta bien lo que estoy haciendo, creo que si por eso lo hice asi, jajaja.
> 
> Código del constructor:
> El atributo $combustible es de tipo objeto, le paso la instancia del 
> objeto combustible al constructor de auto.
> Lo que intento hacer es que al momento de crear el objeto auto, sino 
> ingresa los valores, tire una excepcion.
> En el caso de que este bien, implementaria lo mismo para validar el tipo 
> de datos en los setters.
> 
> 
>     function 
> __construct($combustible=null,$plasas=null,$cantRuedas=null,$consumoPorKm=null){
>         parent::__construct($combustible);
>         $this->plasas=$plasas;
>         $this->cantRuedas=$cantRuedas;
>         $this->consumoPorKm=$consumoPorKm;
>        
>         try {
>             if ($combustible==null or $plasas==null or $cantRuedas==null 
> or $consumoPorKm==null)
>             throw new Exception("Faltan valores en los atributos de Auto.");
>         }
>         catch (Exception $e){
>             print "Error: ".$e->getMessage()."\n";
>             exit;
>         }   
>     } // Fin de __construct
> 
> 
> 
> 
> La instancia queda de esta manera
> $combus=new combustible('FULL',11.11);
> $auto=new Auto($combus,2,1,66);
> 
> y para pickup
> 
> $combus->setTipo('GASOIL');
> $combus->setValor(9.33);
> $pickup=new Pickup($combus,4,200,98756);
> 
> y funciona perfectamente.

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-objetos