スローされた例外がハンドリングされないことによりプロセスが終了する場合、終了ステータスとして0
以外の値が自動的に設定されます。 例外による終了ステータスはMainメソッドの型がvoid
の場合でも設定されます。
ハンドリングされない例外によりプロセスを終了する
Imports System
Imports System.IO
Class Sample
Shared Sub Main()
' ファイル'sample.txt'の有無を調べる
If File.Exists("sample.txt") Then
' ファイルがある場合は何らかの処理を行うと仮定する
Else
Throw New FileNotFoundException("ファイルがありません。", "sample.txt")
End If
End Sub
End Class
実行結果
>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