- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:例外処理に関して)
例外処理に関して
このQ&Aのポイント
- 質問なのですが、ファイルに空白行があった場合、任意に例外を発生させる処理で2回例外がキャッチされてしまい、エラーが出ます。
- 呼び出されるメソッドでファイルが既に開かれている場合に例外が発生してしまうため、改善が必要です。
- ファイルに空白行がある場合に例外を発生させる処理が重複しているため、1回の例外処理で済むようにする必要があります。
- みんなの回答 (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 といった具合でしょう
お礼
早速のご回答ありがとうございます! 参考にコーディングし直してみます。 ありがとうございました☆