2009-10-07 12 views
35

ランタイムが私に言って続けて:Pythonで空の字下げブロックを書くには?

はインデントされたブロック

を期待しかし、私はブロックを除いて、私の内側に何も書かないしたくない、私はちょうどそれが例外をキャッチして飲み込むしたいと思います。

+0

次のPythonチュートリアルはどのようなものですか?どこからPythonを学ぼうとしていますか? –

+0

私はチュートリアルに従っていませんでした。私が知っているのは、AppEngineのドキュメントから得たものです。 –

答えて

84

だけ

try: 
    # Do something illegal. 
    ... 
except: 
    # Pretend nothing happened. 
    pass 

EDITのように

pass 

を書きます。@swilldenは良い点が表示されます、すなわち、これは一般的に恐ろしい考えです。少なくとも、

except TypeError, DivideByZeroError: 

などのエラーを処理する必要があります。さもなければ、大きな問題を隠すことができます。

+8

上記のように、そのイディオムを使用することに注意してください。一般的な "except"は、未定義の変数などを参照するような多くのプログラミングエラーを含む例外を捕捉し、空の句は例外を呑み込むだけです。このように深刻な問題を隠すことができます。 – divegeek

+0

より良い例のイディオムは、「条件付き副作用:パス中」である可能性があります。つまり、副作用のある状態には匂いがすることがあります。 – Steve314

+0

例外は非常に高価です。それらを賢明に使用してください。 – Austin

0

私は、より恒久的なコードでこれをやったことがないが、私は頻繁にエラーが停止しますにだけ真を貼り付けるプレースホルダ

if some_expression: 
    True 
else: 
    do_something(blah) 

としてそれを行います。これについて何か悪いことがあるかどうかはわかりません。

+8

技術的には何も問題はありませんが、これらの状況では最初に「合格」が存在します。 – efotinis

+2

それは読者を捨てるだけで悪いですが、それは絶対に慣用的ではありません。 – u0b34a0f6ae

+1

私はTure to Passが好きです - 真実はあなたを自由にするでしょうから) –

関連する問題