ファイルをロードする時の注意
ファイルを読み込むコードを書きました。
list = {} File.open("namelist.data", "rb") do |file| list = Marshal.load(file) if list.size == 0 puts("listがありません") end end
ここで、問題が・・・
- load()は絶対に成功するの?
- ファイルを読み込んでる間に、他の人にファイルを消されてしまった場合はどうなるの?
などといったように、if list.size == 0だけでは対処できません。なので、ここは例外を使いましょう。
list = {} begin File.open("namelist.data", "rb") do |file| list = Marshal.load(file) end rescue puts("listがありません") end
結論
エラーが起きやすい状況、例えば、プログラムが外部アクセスをする時には例外処理を行うべき。