VB.NETで例外メッセージを取得してログに残す方法を完全解説!初心者向け例外処理入門
生徒
「VB.NETでエラーが出たとき、その内容を後から確認する方法ってありますか?」
先生
「ありますよ。例外メッセージを取得して、ログとして残す方法です。」
生徒
「ログって何ですか?パソコンもあまり触ったことがなくて…」
先生
「大丈夫です。メモ帳に記録を残す感覚で考えると分かりやすいですよ。」
1. ログとは何か?初心者向けにやさしく解説
ログとは、プログラムの動きや出来事を文字として残した記録のことです。 日記やメモ帳に「いつ・何が起きたか」を書くのと同じイメージです。
VB.NETでは、エラー(例外)が発生したときに、その内容をログに残しておくと、 あとから原因を調べることができます。 プログラムは一瞬で終わってしまうため、記録がないと何が起きたのか分からなくなってしまいます。
2. 例外メッセージとは何か
VB.NETでエラーが発生すると、例外メッセージという文章が用意されます。 これは「なぜ失敗したのか」を人に伝えるための説明文です。
このメッセージは、ExceptionクラスのMessageプロパティから取得できます。
プロパティとは「情報を取り出すための箱」だと思ってください。
3. Try Catchで例外メッセージを取得する基本
VB.NETで例外メッセージを取得するには、Try ~ Catchを使います。
まずは一番シンプルな例です。
Try
Dim x As Integer = 10
Dim y As Integer = 0
Console.WriteLine(x \ y)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
0 で除算しようとしました。
このように、ex.Messageで例外メッセージを取得できます。
まずは「メッセージが取れる」という点を覚えれば十分です。
4. ログをファイルに残す考え方
画面に表示するだけでは、プログラムを閉じたら内容が消えてしまいます。 そこで、ファイルに書き出すことでログを残します。
初心者の方は「メモ帳に自動で書き込む」と考えると分かりやすいです。 VB.NETでは、ファイル操作の機能を使ってログを保存できます。
5. 例外メッセージをテキストファイルに記録する例
次は、例外メッセージをログファイルに追記するサンプルです。 難しい処理はしていません。
Imports System.IO
Try
Dim value As Integer = Integer.Parse("abc")
Catch ex As Exception
File.AppendAllText("error.log", ex.Message & Environment.NewLine)
End Try
error.logというファイルに、エラーメッセージが1行ずつ追加されます。
AppendAllTextは「追記する」という意味です。
6. 日時と一緒にログを残す理由
ログには、いつ起きたエラーかを残すことがとても大切です。 時間が分からないと、原因を探すのが難しくなります。
Try
Dim a As Integer = 5
Dim b As Integer = 0
Console.WriteLine(a \ b)
Catch ex As Exception
Dim log As String = DateTime.Now.ToString() & " : " & ex.Message
File.AppendAllText("error.log", log & Environment.NewLine)
End Try
これで「いつ・どんなエラーが起きたか」が一目で分かるログになります。
7. なぜログを残すことが重要なのか
プログラムのエラーは、必ずしも開発中だけに起きるとは限りません。 実際に使われているときに発生することもあります。
そんなとき、ログがあれば状況を再現しなくても原因を調べられます。 VB.NETで例外メッセージを取得してログに残す方法は、 トラブル対応の基本中の基本です。
8. 初心者が覚えておきたいポイント
最初は「Try CatchでMessageを取って、ファイルに書く」だけで十分です。 完璧なログを作ろうとしなくても問題ありません。
VB.NETの例外処理とログ出力は、 プログラムを安全に動かすための保険のようなものです。 少しずつ慣れていきましょう。