FileNotFoundException について

初級者向けにおさらいします。

目次

この例外エラーの説明

File Not Found(指定されたファイルが存在しなかったことで発生する)Exception です。

事例とその対処方法

例外エラーは、想定外の扱われ方をすると発生して飛んで来ます。それは命令の使い方が間違っていたり、存在しないデータを扱おうとしていたり、アカウント権限を越えたアクセスをしようとしていたり(Windows 側やウェブ側の話だったり)、サービスが動いていないのに連携しようとしたり、製品上の仕様考慮モレだったり、そういう系です。

こうなっている前提のはずだから、こうやろうとしたのに、実際はここがこうなっているからダメじゃん!こういう場合の処理が無いじゃん!みたいなコードになっていませんか?

System.IO.File

ファイルを指定しているが、存在しないパスだった場合に例外エラーが発生します。

Dim logFile As String = "error2.log"
Dim logData As String = File.ReadAllText(logFile)
System.IO.FileNotFoundException: 'ファイル 'C:\~\error2.log' が見つかりませんでした。'

ファイル操作をする前に、ファイルの存在チェックをおこなうことで、回避することができます。

Dim logFile As String = "error2.log"
If File.Exists(logFile) Then
    Dim logData As String = File.ReadAllText(logFile)
End If