1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【C#入門 第12章】ログ出力とエラーハンドリング|落ちても泣かないアプリの作り方

Posted at

【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操作」 よ。
表データをグリッドでピシッと表示する、業務ツールらしいアプリに育てていくわよ💢

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?