• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:例外処理に関して)

例外処理に関して

このQ&Aのポイント
  • 質問なのですが、ファイルに空白行があった場合、任意に例外を発生させる処理で2回例外がキャッチされてしまい、エラーが出ます。
  • 呼び出されるメソッドでファイルが既に開かれている場合に例外が発生してしまうため、改善が必要です。
  • ファイルに空白行がある場合に例外を発生させる処理が重複しているため、1回の例外処理で済むようにする必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Timer1メソッドのtry節でFileOpenを使ってますがこれをFileCloseしてませんよね 2回目にTimer1メソッドにきたとき 空行の条件が成り立っていなければ ファイルは開いたままですよ Timer1メソッドに引数を設定して ファイル番号を渡すようにします この引数が0ならFileOpenを実行 0以外ならFileOpenは実行しないといった具合にして見ましょう Sub Timer1(ByRef FF as Integer )   try     ' 引数が0なら ファイルを開く     if FF = 0 then       FF = FreeFile       FileOpen( FF, "ファイルパス", File.Open)     end if     ' 空行かのチェック     if Trim(LineInput(FF) ) = "" then       FileClose(FF)       FF = 0       Throw NEW Exception     end if   catch ex as Exception   end try End Sub といった具合でしょう

system0001
質問者

お礼

早速のご回答ありがとうございます! 参考にコーディングし直してみます。 ありがとうございました☆