Re: [Python-es] Saber que excepciones lanza una func ión

Francisco Javier Cuadrado <[email protected]>
Newsgroups gmane.comp.python.general.castellano
Message-ID <[email protected]>
El 26 de agosto de 2009 15:32, lasizoillo<[email protected]> escribió:
> El 26 de agosto de 2009 13:14, Francisco Javier
> Cuadrado<[email protected]> escribió:
>> El 26 de agosto de 2009 12:37, Félix Palazuelos
>> Pérez<[email protected]> 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
> ;-)
>
> Espero que esto te ayude un poco a plantear tu tratamiento de
> excepciones en python (y en java).
>
>>
>> Además de que la documentación de Java detalla las excepciones que lanza.
>>
> Casi siempre y cuando el que lo hace no es el Jonan ;-)
>

Está claro que si te toca lidiar con código parecido al del amigo
Jonan vas mal, ya estés programando en Java o Python.

Mi duda partía de un problema cómo el que has ejemplificado a la perfección.

>> Pero en Pyhon si tuviera ese método tendría que mirar la
>> documentación, en algunos casos la documentación no explica las
>> excepciones que lanzará, o el código para ver las excepciones que
>> lanza, a lo que mi duda es si hay alguna manera (p. ej. alguna función
>> de Python) de saber que excepciones lanza el método.
>>
>
> No conozco nada, pero si encuentras algo compártelo.
>
>
> Un saludo:
>
> Javi
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>



-- 
Saludos

Fran
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.