まず最初に、私は悪いインデントされたコードに問題はありません。この例外はどのように動作するのか考えています。IndentationErrorをキャッチするには
try/exceptブロックを使用してIndentationErrorをコード内でキャッチする方法があれば質問しますか?たとえば、他の人が作成した関数のテストを書いているとします。私はtry/exceptブロックで実行し、彼/彼女が作ることができるすべての警告を処理したい。私はそれが最良の例ではなく、最初のものが私の心に来ることを知っています。例に焦点を当てるのではなく、むしろ問題に焦点を当ててください。
try:
f()
except IndentationError:
print "Error"
print "Finished"
機能:
はのは、コードを見てみましょう
def f():
print "External function"
そして結果は次のとおりです。
External function
Finished
そして、それは何か、私は理解して準備ができています、外部機能のインデントが一貫しているためです。
しかし、ときに、関数はそのようになります。
def f():
print "External function"
print "with bad indentation"
を例外が未処理である:
print "with bad indentation"
^
IndentationError: unexpected indent
は、それを達成する方法はありますか?コンパイルの問題だと思うし、これまでのところ私は捕まえる可能性はないと思う。 except IndentationError
は意味がありますか?
'IndentationError'は' SyntaxError'のサブクラスです。 –