这项工作?嵌套异常?
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
即,如果第一线抛出一个ValidationError
,将第二except
抓呢?
我会写它非嵌套,但第二个过滤器语句也可能失败!而且我想用同样的ValidationError
块来捕捉它。
我想测试一下自己,但是这个代码是如此交织现在是很难正确跳闸吧:)
作为一个侧面说明,这样做不好依靠它捕捉TypeError
和传球只有一个arg来代替?即故意忽略一些不需要的论点?
您不必在原地测试代码。创建一个新的python脚本将非常简单,只需将其粘贴到您想要测试该行为的异常提升行中即可。 – 2010-07-08 22:54:45
@Anon:你是对的......我想比实验要容易得多。 – mpen 2010-07-08 23:04:05