C#でエラーの処理をする
Visual Basic 2.0の頃は、エラーになる状況を予測してその状況に陥ったかどうかを判定して対処するようなコードを含むプログラムを作っていました。昨今では、try catchステートメントという便利なものがあります。
目次
エラーの処理をしてみる
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");
}
}
}
}
エラーの内容を知りたい場合
上記コードの中で、catchの後ろに(Exception ex)
という記載があります。Exceptionクラスは実行中のエラーを表すクラスです。このクラスのmessageプロパティを使って、エラーメッセージを使ってエラーメッセージを表示することができます。これを使うと、エラーログがとれそうですね。
公開日
広告
C#カテゴリの投稿
- C#でMVVMって何でしょう
- C#でPDFを表示する(WPF)
- C#でアプリのログを記録してみる
- C#でアプリの設定を保存する
- C#でインスタンスをプログラムで作ってみた(Activator.CreateInstance編)
- C#でインスタンスをプログラムで作ってみた(Type.InvokeMember編)
- C#でインスタンス間のデータの受け渡しをしてみた
- C#でウェブサイトのソースを取得してみた
- C#でエラーの処理をする
- C#でクラスのフィールド宣言とコンストラクターでの初期化はどっちが優先する?
- C#でスタックを使って逆ポーランド記法の計算をしてみた
- C#で数式を中置記法から後置記法(逆ポーランド記法)に変換してみた(三角関数編)
- C#で選択(switch-case編)
- C#のWPFでデータバインディング
- C#のXAMLでメニューとステータスバーのレイアウトをしてみた
- C#のアプリの情報を表示してみた
- C#のクラスとインスタンスとオブジェクト
- C#の反復処理(foreach編)
- C#の命名規則
- C#へのMicrosoft.TeamFoundation.Controlsの参照の追加について