[pyar] Que exceptions tiene una función
Luis Masuelli
luismasuelli en hotmail.com
Vie Ago 15 10:42:55 ART 2014
No se puede.
Como harias para anticipar en QuerySet.get qué subtipo de ObjectDoesNotExist será devuelto? lo que tirará será algo como: self._model.DoesNotExist (o self._model.MultipleObjectsReturned) pero ese _model puede ser una entre muchas cosas cosas, irreconocibles y potencialmente infinitas.
Date: Fri, 15 Aug 2014 10:16:25 -0300
From: ralsina en netmanagers.com.ar
To: pyar en python.org.ar
Subject: Re: [pyar] Que exceptions tiene una función
On 15/08/14 10:00, Sebastián Seba
wrote:
El 14 de agosto de 2014, 21:34,
Manuel Kaufmann <humitos en gmail.com>
escribió:
2014-08-14 17:49
GMT-03:00 Hernan Grecco <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")
_______________________________________________
pyar mailing list pyar en python.org.ar
http://listas.python.org.ar/listinfo/pyar
PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140815/7bb752a6/attachment-0001.html>
More information about the pyar
mailing list