エラー辞典

SystemExit

sys.exit()が呼ばれたときに発生する、プログラムを終了させるための特別な例外です。

原因

コード内で明示的にsys.exit()を呼び出すことで発生します。バグではなく、意図的にプログラムを終わらせるための仕組みです。

エラーになるコード例

import sys
print('処理を開始します')
sys.exit('エラーのため終了します')
print('この行は実行されません')
SystemExit: エラーのため終了します

修正版

import sys
try:
    sys.exit('終了理由')
except SystemExit as e:
    print(f'終了処理をキャッチしました: {e}')

よくある間違い

  • sys.exit()が「エラー」だと思い、except Exceptionで無意識にキャッチしてしまう(SystemExitはExceptionを継承していないため、通常のexcept Exceptionでは捕まりません)
  • 本当にプログラムを終了させたいのか、単に関数から抜けたいだけなのかを混同する

← エラー辞典に戻る