¿Funcionará?¿Excepciones anidadas?
try:
try:
field.value = filter(field.value, fields=self.fields, form=self, field=field)
except TypeError:
field.value = filter(field.value)
except ValidationError, e:
field.errors += e.args
field.value = revert
valid = False
break
Es decir, si esa primera línea lanza una ValidationError
, lo hará el segundo retén except
ella?
Lo habría escrito sin anidar, pero la segunda declaración de filtro también podría fallar. Y quiero usar el mismo bloque ValidationError
para captar eso también.
que había prueba yo mismo, pero este código es tan entrelazada ahora es difícil tropezar correctamente :)
Como nota al margen, ¿es malo para confiar en ella para controlar el TypeError
y pasando en un solo Arg en cambio? es decir, ¿omite deliberadamente algunos argumentos donde no son necesarios?
Usted no tiene que probar el código en el lugar. Sería bastante fácil crear una nueva secuencia de comandos python, y simplemente colocarse en una línea de generación de excepciones donde quiera probar ese comportamiento. –
@Anon: Tienes razón ... Creo que fue más fácil realizar el experimento de lo que pensaba. – mpen