2016-11-29 15 views
0

私はこのことについてはっきりしていないことを知っていますが、Python:実際に試してみる前に擬似的に試してみてください

try: 
    print "Try this out" 
    a = int("Blah blah") 
except: 
    print "I got the exception" 

このコードの出力は -

Try this out 
I got the exception 

私が行うにはPythonが、それは試しに例外を発生させる可能性があるかどうかを確認することです欲しい:ブロック最初に、次のコードを考えてみましょう実行してください。さもなければ、except:ブロックを実行してください。複数のtry-exceptブロックをネストすることなく、そのようなことを行うことは可能ですか?

+0

なぜあなたはそのようなことをしたいん:

適切に例外をキャッチするには、この方法を試してみてください?これはPythonの[EAFP]哲学(https://docs.python.org/2/glossary.html)に反するものです。 –

+0

この質問または目的はあまり明確ではありません。あなたはネストしたブロックを使ってそれをどうやってやりますか?あなたは '疑似ラン'に副作用を持たせたいですか?例外を発生させるコードを実行する前に、最初に条件をチェックすることはできますか?それはあなたがやろうとしているもののように聞こえる。 – theorifice

+0

Pythonは完全に動的に型指定されています。 Javaのような言語を指していると思います。関数の宣言の末尾に 'SomeExceptionTypeをスローします'というラベルを付けることができます。 Pythonはこれと似ていません。実行時に例外を受け取り、それが本当に投げられるかどうかを判断することはできません。 – Goodies

答えて

0

実行中に例外が発生するため、不可能です。しかし、あなたは次のように行うことができます。

try: 
    a = int("Blah blah") 
    print "Try this out" 
except: 
    print "I got the exception" 
0

あなたのtry文のプリントをアップエラーがそれを印刷するには起こりませんが、できるだけ早くそれがaを実行しようとすると、そのexcept実行し、エラーを取得して。

try: 
    a = int("Blah blah") 
    print ("Try this out") 

except: 
    print ("I got the exception") 
+0

これは私の目的に役立たないでしょう。質問の私の最後のコメントを参照してください... –

関連する問題