【しゅうりょうこーど】

終了コード とは?

最終更新:
💡 処理の終わりに返す「結果の番号札」

プログラムの終了結果を呼び出し元へ伝える整数。一般に0は成功、0以外はエラーなどを表すが、各値の意味はプログラムの仕様で確認する。

📌 このページのポイント
終了コードは「結果の番号札」自作のファイル確認プログラム終了時に、呼び出し元へ番号を返すこのプログラムで決めた番号の例✓ 0確認成功次へ進む! 1ファイルなし理由を確認! 2形式違い理由を確認表示する文章とは別の情報番号の意味は、プログラムごとに確認
0・1・2の意味は、この例のプログラムで決めたものです。
ひよこ ひよこ
ペンギン先生、終了コードって、画面に出るエラーメッセージのことなの?
ペンギン先生 ペンギン先生
文章とは別のものだよ。プログラムが終わるときに、呼び出した側へ渡す整数なんだ。「結果の番号札」と考えるとわかりやすいね。人が文章を読まなくても、自動処理が結果を判断する材料になるよ。
ひよこ ひよこ
どんな番号が返ってくるの?
ペンギン先生 ペンギン先生
一般には0が成功を表すよ。たとえば自作のファイル確認プログラムで、0は確認成功、1はファイルなし、2は形式違いと決められるんだ。ただし1や2の意味がどのプログラムでも同じわけではないから、使うコマンドの説明を確認してね。
ひよこ ひよこ
エラーの文章が出なければ、成功だと思っていいの?
ペンギン先生 ペンギン先生
それだけでは決められないよ。文字を出さずに0以外で終わるプログラムも作れるし、標準エラー出力へお知らせを書いて0で終わることもできる。表示する内容と、終了コードとして返す値は別々なんだ。
ひよこ ひよこ
自動で動かすときは、どう使うの?
ペンギン先生 ペンギン先生
さっきの自作プログラムなら、0のときだけ次の処理へ進み、1や2なら理由を調べるようにできるね。でもプログラムが失敗を検出せず0を返したら、呼び出し元も成功として扱ってしまう。番号は結果を伝える約束であって、成果物の正しさまで保証するものではないんだよ。
もっと詳しく知りたい人へ

PowerShellでは終了コードをどう確認するの?

外部の実行可能プログラムを実行した直後に、$LASTEXITCODEを確認します。必要なら別の変数へ保存してください。次の外部プログラムを実行すると値が更新されるためです。$?は直前のコマンドの成否を表す真偽値で、終了コードの整数そのものではありません。PowerShellのコマンドレットと外部プログラムを区別して確認します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「終了コード」って出てきたら「プログラムが終わるときに返す結果の番号」と思えばだいたいOK!
📖 おまけ:英語の意味
「Exit Code」 = 終了結果を表す符号
💬 exitは「終了」、codeはここでは「結果を表す符号」の意味で、終了時の結果を番号で伝える言葉だよ。

参考資料

← 用語集にもどる