Bu işe yarar mı?İç içe istisnalar mı?
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
Yani, o ilk satırı ValidationError
, irade ikinci except
yakalamak o atarsa?
Bunu yuvalanmamış olarak yazabilirdim, ancak ikinci filtre deyimi de başarısız olabilir! Ve ben de onu yakalamak için aynı ValidationError
bloğunu kullanmak istiyorum.
zor
, kötü o TypeError
yakalayıp tek geçen temel almaktır arg yerine? yani, ihtiyaç duyulmayan bazı argümanları kasıtlı olarak atlatmak mı?
Kodu yerinde test etmek zorunda değilsiniz. Yeni bir python betiği oluşturmak oldukça kolay olurdu ve sadece bu davranışı test etmek istediğiniz istisnai bir yükselme çizgisine bağlı kalın. –
@Anon: Haklısın ... Sanırım deneyimi düşündüğümden daha kolay. – mpen