完全にド忘れしてた…。
以下のような条件式がある場合、
If (Not IsNothing(dataList)) And dataList.Count > 0 Then
初めのNot IsNothingでNullチェックしてるから、dataListがNullなら次の比較式に進まないと思ってたら、がっつり検証されてた。
C#の感覚で組んでたものだから、なかなか気づかなくてハマってたんだけど…。
すっかり忘れていたよ、AndAlsoとOrElseの存在を。
上記コードの場合、Nullの時に後の条件を検証させたくない場合は、
If (Not IsNothing(dataList)) AndAlso dataList.Count > 0 Then
って書かないといけない。
VB開発時は死ぬほど書いてたのに、しばらく離れるとすっかり忘れるもんだなー。
記憶に留めるためにクソみたいな内容ですが記事にしときます。