5

「sys.exit(1)」を入れて、後でこのようにキャッチすることを望んでいました。

xml_open()
try:
  run(reloader=True, host='localhost', port=8080)
except SystemExit:
  xml_save()
  print "Exited ..."

これらの python マイクロフレームワークを終了してハンドラー内から終了する他の解決策はありますか?

4

3 に答える 3

1

処理されていない場合は、本当に sys.exist(1) ステートメントを実行するかどうかを確認してください。処理されていない他の例外が発生する可能性があるため、これを試してください....

xml_open()
try:
  run(reloader=True, host='localhost', port=8080)
except SystemExit:
  xml_save()
  print "Exited ..."
except Exception, e:
  print "ohhh no.......",str(e)
  import pdb
  pdb.post_mortem()
  sys.exit(-1)
于 2010-09-08T02:54:35.957 に答える
0

私の限られた経験から、sys.exit()リローダーがオフになっているときに機能するはずです。そうしないと、リローダーがコードをリロードしsys.exit()、アプリケーションが再開されます。もちろん、うまくいかsys.exit()ない理由については私が間違っているかもしれませんが、私の場合、リローダーをオフにするとうまくいきました。

于 2011-01-16T16:59:48.917 に答える