try/except でプログラムを終了するにはどうすればよいですか? 質問する

try/except でプログラムを終了するにはどうすればよいですか? 質問する

次の try/except コードがあります:

document = raw_input ('Your document name is ')

try:
    with open(document, 'r') as a:
        for element in a:
           print element

except:
    print document, 'does not exist'

「[ファイル名] が存在しません」と出力した後、プログラムを終了するにはどうすればよいですか?break明らかpassに機能せず、クラッシュ エラーも発生させたくないため、これはsys.exitオプションではありません。

この部分は無視してくださいtry。単なるダミーです。

ベストアンサー1

sys.exit を使用します:

import sys

try:
    # do something
except Exception, e:
    print >> sys.stderr, "does not exist"
    print >> sys.stderr, "Exception: %s" % str(e)
    sys.exit(1)

発生した例外を印刷して後でデバッグできるようにすることをお勧めします。

モジュールを使用してスタックトレースを印刷することもできますtraceback

sys.exit で返す int はプログラムの戻りコードになることに注意してください。プログラムが返した終了コードを確認するには (何が起こったかに関する情報が得られ、自動化できます)、次のようにします。

echo $?

おすすめ記事