ハンドリングされない例外によりプロセスを終了する 言語: C# VB スローされた例外がハンドリングされないことによりプロセスが終了する場合、終了ステータスとして0以外の値が自動的に設定されます。 例外による終了ステータスはMainメソッドの型がvoidの場合でも設定されます。 ハンドリングされない例外によりプロセスを終了する すべて選択してコピー ダウンロード 行番号を表示する using System; using System.IO; class Sample { static void Main() { // ファイル'sample.txt'の有無を調べる if (File.Exists("sample.txt")) { // ファイルがある場合は何らかの処理を行うと仮定する } else { throw new FileNotFoundException("ファイルがありません。", "sample.txt"); } } } .NET 5/Windowsでの例 .NET Frameworkでの例 .NET 5/Linuxでの例 Monoでの例 実行結果 >dotnet run Unhandled exception. System.IO.FileNotFoundException: ファイルがありません。 File name: 'sample.txt' at Sample.Main() >echo %ERRORLEVEL% -532462766 実行結果 >csc /nologo test.cs && test.exe ハンドルされていない例外: System.IO.FileNotFoundException: ファイルがありません。 場所 Sample.Main() >echo %ERRORLEVEL% -532462766 実行結果 $dotnet run Unhandled exception. System.IO.FileNotFoundException: ファイルがありません。 File name: 'sample.txt' at Sample.Main() $echo $? 134 実行結果 $mcs test.cs && mono test.exe Unhandled Exception: System.IO.FileNotFoundException: ファイルがありません。 File name: 'sample.txt' at Sample.Main () <0x412c2d50 + 0x00067> in <filename unknown>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: ファイルがありません。 File name: 'sample.txt' at Sample.Main () <0x412c2d50 + 0x00067> in <filename unknown>:0 $echo $? 1 関連するページ Mainメソッドの戻り値で終了ステータスを返してプロセスを終了する Environment.Exitメソッドで終了ステータスの設定と同時にプロセスを終了する Environment.ExitCodeプロパティで終了ステータスを設定する Processクラスを使って自プロセスの情報を取得する Process.Startメソッドを使って子プロセスを起動する Process.WaitForExitメソッドを使って起動した子プロセスの終了を待機する Process.WaitForExitAsyncメソッドを使って起動した子プロセスの終了を待機する