• ベストアンサー

エラーを無視の解除をしたほうがいいのでしょうか?

VBAを勉強中の者です。 ADOは Dim dbCon As New ADODB.Connection でオブジェクトを作ったら Set dbCon = Nothing で破棄したほうがいいと教わったのですが エラーの場合は On Error Resume Next でエラーを無視したら End Subにたどり着く前に エラーを無視の解除↓ On Error GoTo 0 をしたほうがいいのでしょうか?

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

  • ベストアンサー
  • ap_2
  • ベストアンサー率64% (70/109)
回答No.2

On Errorの適用は関数内だけ(End Subまで)なので、Goto 0不要ですよ。 適用範囲を絞りこめるなら一番ですが、範囲が広い場合はいずれにせよ分かりづらくなるので、明示する意味もあまりナイです。 VBAだと、オブジェクトも同様に=Nothing必須では無かったと思います。 非グローバルなら関数を抜ける時に解放対象となり、=Nothingしたからといって即解放されるワケじゃないので、End Sub直前なら同じかと。 慣例的にやることが多いですけどね。

nifufu2
質問者

お礼

同じサブプロシージャー内でエラーを無視したくない部分がある時以外は Goto 0不要なのですね。 ありがとうございました。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

コードの内容によるのでは? 「保存できたつもりでアプリ終了したら、実は書き込みエラーでデータ喪失」はイヤですよね?

nifufu2
質問者

お礼

確かにそれじゃ気付かないから嫌ですね。ありがとうございました。

関連するQ&A