[pyar] Que exceptions tiene una función

Roberto Alsina ralsina en netmanagers.com.ar
Vie Ago 15 10:16:25 ART 2014


On 15/08/14 10:00, Sebastián Seba wrote:
> El 14 de agosto de 2014, 21:34, Manuel Kaufmann <humitos en gmail.com 
> <mailto:humitos en gmail.com>> escribió:
>
>     2014-08-14 17:49 GMT-03:00 Hernan Grecco <hernan.grecco en gmail.com
>     <mailto:hernan.grecco en gmail.com>>:
>     > Alguien tiene alguna función (tal vez la gente de Ninja?) que
>     devuelva
>     > el conjunto de que exception posibles que pueden surgir al llamar a
>     > otra función (obviamente recorriendo todas las llamadas)?
>
>
>     Así así... A simple vista, me parece que no es algo posible de hacer.
>
>     ¿Porqué? No sabría explicarlo. Quizás no lo tengo tan claro tampoco.
>     Pero pienso en "¿cómo haría Python para saberlo?" y creo que debería
>     evaluar todos los tipos de datos que hay en esa función y preguntarle
>     a cada uno de ellos cuáles son todas las exepciones que pueden
>     levantar. Eso, hacerlo recursivo para todas y cada una de las llamadas
>     a función que hay en esa misma función... O sea, "para mi", no se
>     puede.
>
>
> Creo que una vez leí una pregunta similar en StackOverflow y sugerían 
> utilizar los módulos "ast" [0] y "parser" [1]
>
> [0] https://docs.python.org/3.4/library/ast.html
> [1] https://docs.python.org/3.4/library/parser.html
>

Con eso vas a poder ver cuales excepciones tira explicitamente una 
funcion, pero no hay manera de saber cual va a tirar en general.

Ejemplo de juguete:

Decime con análisis estático que excepciones puede tirar esta línea:

"b".__class__.__dict__[list("a".__class__.__dict__.keys())[random.randint(0,30)]]("g")
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140815/f6e95b23/attachment.html>


More information about the pyar mailing list