C#でエラーの処理をする

Visual Basic 2.0の頃は、エラーになる状況を予測してその状況に陥ったかどうかを判定して対処するようなコードを含むプログラムを作っていました。昨今では、try catchステートメントという便利なものがあります。

目次

  1. エラーの処理をしてみる
  2. エラーの内容を知りたい場合

エラーの処理をしてみる

try~catch~finallyステートメントを使用します。詳しくはMSDNを参照してください。tryにエラーが生じるかもしれない処理を書きます。catchにエラーが起きた場合の処理を書きます。finallyにエラーが起きても起きなくても実行する処理を書きます。 例えば、text.txtというテキストファイルの中身を表示するコンソールアプリを作ってみます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace test_error
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                StreamReader testfile = new StreamReader("test.txt");
                string textline;
                while ((textline = testfile.ReadLine()) != null)
                {
                    Console.WriteLine(textline);
                }
                testfile.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.message);
            }
            finally
            {
                Console.WriteLine("End of application");
            }

        }
    }
}

実行結果はこうなります。エラーメッセージが表示された後に、finally部の表示がされます。 151013-1-01

エラーの内容を知りたい場合

上記コードの中で、catchの後ろに(Exception ex)という記載があります。Exceptionクラスは実行中のエラーを表すクラスです。このクラスのmessageプロパティを使って、エラーメッセージを使ってエラーメッセージを表示することができます。これを使うと、エラーログがとれそうですね。

公開日

広告