|
.NET TIPS
コンソール・アプリケーションを途中で終了するには?
デジタルアドバンテージ
2004/06/11 |
|
|
C#やVisual Basic .NET(以下VB.NET)で作成したアプリケーションは、エントリ・ポイントであるMainメソッドが終了すれば、アプリケーションも終了する。しかし、例えば致命的なエラーが発生したような場合などでは、Mainメソッド以外のメソッド内でもアプリケーションを終了させるようなコードを記述した方が、プログラムがすっきりする場合がある。
このような用途のために、VB.NETにはEndステートメントが用意されているが、C#でアプリケーションの実行を途中で終了するには、Environmentクラス(System名前空間)のExitメソッドを使用する必要がある。
以下にExitメソッドを使用したC#のサンプル・プログラムを示す。
// exitapp.cs
using System;
public class ExitByEnvironment {
static void Foo() {
Environment.Exit(0);
}
static void Main() {
Foo();
Console.WriteLine("ここは実行されません");
}
}
// コンパイル方法:csc exitapp.cs
|
|
Environment.Exitメソッドによりプログラムを終了するC#のサンプル・プログラム(exitapp.cs) |
|
このサンプル・プログラムでは、Mainメソッドから呼び出しているFooメソッドでプログラムの実行は終了する。なお、Environment.Exitメソッドのパラメータには、Windows OSに返す終了コードを指定できる(これについては「TIPS:コンソール・アプリケーションで終了コードを返すには?」を参照)。
もちろん、Environment.ExitメソッドはVB.NETでも使用できる。
' exitapp.vb
Imports System
Module Module1
Sub Foo()
Environment.Exit(0)
End Sub
Sub Main()
Foo()
Console.WriteLine("ここは実行されません")
End Sub
End Module
' コンパイル方法:vbc exitapp.vb
|
|
Environment.Exitメソッドによりプログラムを終了するVB.NETのサンプル・プログラム(exitapp.vb) |
|
ちなみに、Windowsアプリケーションを終了させるには、通常Applicationクラス(System.Windows.Forms名前空間)のExitメソッドを呼び出すが、これは同クラスのRunメソッドから制御を取り戻す(内部で実行されているメッセージ・ループを終了させる)ためのもので、アプリケーションの実行を終了させるものではない。
カテゴリ:クラス・ライブラリ 処理対象:コンソール・アプリケーション
使用ライブラリ:Environmentクラス(System名前空間)
使用ライブラリ:Applicationクラス(System.Windows.Forms名前空間)
関連TIPS:コンソール・アプリケーションで終了コードを返すには?
|
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間