.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メソッドから制御を取り戻す(内部で実行されているメッセージ・ループを終了させる)ためのもので、アプリケーションの実行を終了させるものではない。End of Article

カテゴリ:クラス・ライブラリ 処理対象:コンソール・アプリケーション
使用ライブラリ:
Environmentクラス(System名前空間)
使用ライブラリ:Applicationクラス(System.Windows.Forms名前空間)
関連TIPS:コンソール・アプリケーションで終了コードを返すには?
 
この記事と関連性の高い別の.NET TIPS
コンソール・アプリケーションで終了コードを返すには?
ほかのアプリを実行して終了コードを得るには?
VB.NETでアプリケーション起動時に実行されるフォームを変更するには?
ほかのアプリケーションを実行してその終了を待つには?
コンソール・アプリケーションの強制終了時に処理を行うには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間