[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