論理式の全体評価の予測

VBScript プログラム言語では、ブール式のショートサーキット評価は行いません。VBScript では、すべての条件を評価せずにブール式の結果が True または False であることを特定できる場合でも、すべての条件を評価します。たとえば次の場合、<statement1>が False であっても、<statement1>と<statement2>は評価されます。

<statement 1> AND <statement 2>

ベスト・プラクティス

エラーを避けるために、値とオブジェクトは使用前に必ず Null でないことを確認します。

次に例を示します。

  • 論理式の正しい使用方法と誤った使用方法
  • 論理式の評価方法を考慮

Example: 誤った方法

value.Name は、値が Null の場合であっても評価されています。これにより、エラーが発生します。

Sub namecheck(value)
        If Not IsNull(value) And value.Name = "aName" Then 
            ' ... 
          End If
End Sub

Example: 正しい方法

valueName プロパティを含むオブジェクトである場合、コードは正しいと評価されます。このコードを実行してもエラーは発生しません。

Sub namecheck(value)
    If Not IsNull(value) And Not IsEmpty(value) Then 
         If value.Name = "aName" Then 
            ' ... 
        End If
      End If
End Sub