我正在用VB.NET编程一个程序,我在运行时突然出现了一些我不太明白的错误。首先,我将向您显示我的异常抛出的代码块:
Public Sub AddPartToOrder(ByVal partNum As String, ByVal quantity As Integer)
Using dbContext As New Data_LINQDataContext
If IsNothing(Supplier) Or Supplier.Equals("") Then
'Code here
End If
End Using
End Sub
异常是在
If
声明,供应商是
NullReferenceException
。现在,当我将代码更改为:
Public Sub AddPartToOrder(ByVal partNum As String, ByVal quantity As Integer)
Using dbContext As New Data_LINQDataContext
If IsNothing(Supplier) Then
'Code here
ElseIf Supplier.Equals("") Then
'More Code here
End If
End Using
End Sub
例外情况消失了。我的问题是,为什么我第一次得到例外,而不是第二次?不是第一个
如果
语句只在第一个条件为false时检查第二个条件?它不应该以同样的方式工作吗?
If/ElseIf
?