コードが実行時例外を発生させ、補完が機能しない場合、トレースバックが出力されないため、なぜその理由が分かりません。この短いコードを試してみてください:プログラムはc = 2 + "ddda"という行でクラッシュするはずですが、明らかに文字列とintを追加しています。しかし、クラッシュする代わりに、例外は捕まえられ、何が起きているのか分かりません。プログラムは何も起こらないかのように動作し続けます。cmdのpythonモジュールを使用しているときに、プログラムを適切にクラッシュさせるにはどうすればよいですか?
import cmd
class App(cmd.Cmd):
def complete_foo(self,*arg):
# Uncommenting this line will silently crash the progrm
# making it hard to debug.
# Is there a way to force the program to crash ?
c = 2 + "ddda"
return "d dzpo idz dza dpaoi".split(" ")
def do_foo(self,*args):
print "foo"
App().cmdloop()
私の質問は次のとおりです。 (cmdモジュールを使用している場合)。
エラーを処理する 'try'ブロック内でコードが呼び出されない場合は、エラーとトレースバックで停止する必要があります。 – Barmar