Her şeyden önce - Kötü girilen kodla ilgili bir sorunum yok ve bu özel durumun nasıl çalıştığı hakkında bir fikrim var.Nasıl IndentationError
Bir try/except bloğu ile kod içinde IndentationError yakalamanın bir yolu varsa, sorarım? Örneğin, bir başkası tarafından yazılmış bir fonksiyon için bir test yazdığımı varsayalım. Bunu try/except bloğu ile çalıştırmak ve yapabileceği tüm uyarıları ele almak istiyorum. Biliyorum, bu en iyi örnek değil, aklıma gelen ilk. Lütfen, bir örnek üzerinde odaklanmayın, daha ziyade problem. koda
inceleyelim:
try:
f()
except IndentationError:
print "Error"
print "Finished"
fonksiyonu:
def f():
print "External function"
Ve sonuç: Ben anlamak için hazırım,
External function
Finished
Ve bu da bir şeydir, harici fonksiyonda izdüşüm girintisi sağduydu.
def f():
print "External function"
print "with bad indentation"
istisna işlenmeyen geçerli:: Böyle fonksiyon görünüm zaman
Ama
print "with bad indentation"
^
IndentationError: unexpected indent
bunu başarmak için herhangi bir yolu var mı? Sanırım bu derleme meselesi ve şimdiye kadar yakalama ihtimali yok. except IndentationError
herhangi bir anlam ifade ediyor mu?
'IndentationError'' SyntaxError'un bir alt sınıfıdır. –