とあるコーディング規定 アレコレ

早速だけど、以下を見て欲しい。


Public Function SetSheet() As Boolean 'ByRef ObjName As String
Dim SH As Worksheet

 On Error Resume Next
 Set SH = ThisWorkbook.Worksheets("無いワークシート")
 SetSheet = True

Nothin:
SetSheet = False

End Function

コードそのものは、シンプルかつ利便性が高いけど。
あちらこちら、こんな感じで、On Error Resume Next が多量に使用されていて、異様な感じを覚えた…。

コードから見るにプロっぽいし…、コンパクトにまとまっていて、関心するのだけど。
独学で学んだ時、むやみに 'On Error Resume Next' 使って構成していはいけないと記憶している。
理由は簡単で あらゆるエラー をスルーしてしまう特性にある。

1.安易な理由で使うべきでは無い
2.正規の手段で検出できる
3.デバックの難度が上げってしまう

特に2はコードが多少長くなるが使用せずに済むものを、意図的に使うのは使用者に益を生むものでは無いし、コードの手入れが困難になってしまう。

おそらく、コスト・制作期限 の問題なのだろうねぇ…。

追記 
案の定、改修はどえらい苦労したことを記す(笑)






この記事が気に入ったらサポートをしてみませんか?