Re: [Python-es] Saber que excepciones lanza una función
Mikel Larreategi
mlarreategi en codesyntax.com
Jue Ago 27 12:00:35 CEST 2009
lasizoillo(e)k dio:
> El 26 de agosto de 2009 13:14, Francisco Javier
> Cuadrado<fcocuadrado en gmail.com> escribió:
>> El 26 de agosto de 2009 12:37, Félix Palazuelos
>> Pérez<felixpalazuelos en gmail.com> escribió:
>>> Yo las veo ejecutando con la consola, y ahí te saldrán los errores o
>>> excepciones que puedas tener. La verdad, no sé a qué te refieres :S
>> Hola.
>>
>> Básicamente, a lo que me refiero es cómo puedo saber las excepciones
>> que lanzará una función dependiendo de cuando falle, sin hacer prueba
>> y error.
>>
>> En Java es fácil porque la declaración del método lleva las
>> excepciones que lanza, por ejemplo:
>>
>> public int Ejemplo () throws Exc1, Exc2, Exc3 {
>> ....
>> }
>
> Imagina el siguiente ejemplo:
>
> public int QueMeVoyDeVacasNeng(n) throws Exception{
> if(n%2)
> Ejemplo();
> EjemploDelJonan();
> }
>
> Tu compañero el Jonan de Baraka te ha dejado ese codigo y ha marchado
> que pim, que pam tumbando aguja para su tierra. La función no tiene
> JavaDoc, todas las excepciones estan encapsuladas en Exception. Además
> el Jonan es muy dado a hacer sus propias excepciones descendientes de
> RuntimeException y no dejan rastro en la signature al pasar el javadoc
> (que además no se ha currado), por lo que EjemploDelJonan puede o no
> lanzar excepciones no chequeadas.
>
> La forma de lidiar el problema en python es igual que la de este
> ejemplo (dramatico) en Java, pero sin la falsa seguridad de creer que
> las excepciones son chequeadas por el lenguaje. Cuando revises el
> codigo, tendrás claro si EjemploDelJonan se ejecuta con n impar o no
> ;-)
Bua chaval !! El Jonan es el puto amo !!!
(perdón por la expresión, pero es que no me he podido resistir).
Mikel
--
Mikel Larreategi
mlarreategi en codesyntax.com
CodeSyntax
Azitaingo Industrialdea 3 K
E-20600 Eibar
Tel: (+34) 943 82 17 80
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es