這項工作?嵌套異常?
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