【C#入門 第12章】ログ出力とエラーハンドリング|落ちても泣かないアプリの作り方
はい、 CSharpTimes の一之瀬シィよ💠
今回は「 アプリが落ちない仕組み 」と「 問題発生時の記録術 」について解説するわ。
バグったときに真っ白画面とか、泣けてくるでしょ?そんな思いはさせないから安心しなさい💢
💥 例外(エラー)とは?
C#では、実行中に予期しない問題が起きると「 例外(Exception) 」がスローされて処理が止まっちゃうの。
たとえば:
int x = int.Parse("りんご"); // ← 例外発生!
これを防ぐには……そう、 try-catch で守るのよ!
🛡️ try-catch構文
try
{
int number = int.Parse("abc");
}
catch (FormatException ex)
{
Console.WriteLine("数値変換できなかったわよ💢:" + ex.Message);
}
-
try
:失敗するかもしれない処理 -
catch
:例外が発生したときの処理 -
ex.Message
:エラーの内容が読める
📚 複数のcatchを書くこともできる!
try
{
// なにかしらの処理
}
catch (FormatException ex)
{
Console.WriteLine("フォーマットエラー:" + ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("その他のエラー:" + ex.Message);
}
🧼 finallyで後始末もできる
try
{
// ファイルを開くなど
}
catch
{
Console.WriteLine("エラーが起きたわね…");
}
finally
{
Console.WriteLine("終わったから片付けるわよ");
}
📝 ログ出力して原因を残そう
using System.IO;
try
{
// 危なそうな処理
}
catch (Exception ex)
{
File.AppendAllText("error.log", DateTime.Now + ":" + ex.ToString() + Environment.NewLine);
}
-
AppendAllText()
:ログファイルに追記 -
ex.ToString()
:詳細なスタックトレースも含めてくれる
📌 まとめ
- try-catchでアプリの「落下」を防げる
- 例外情報はログに出力しておくと後で助かる
-
finally
で後処理もできるとスマート
次回は、 「第13章:DataGridView操作」 よ。
表データをグリッドでピシッと表示する、業務ツールらしいアプリに育てていくわよ💢