Vb.net 为什么listbox.SelectedIndex会出现NullReferenceException

Vb.net 为什么listbox.SelectedIndex会出现NullReferenceException,vb.net,Vb.net,我运行这段代码来创建一个活动日志窗口 Sub writetolog(i As String) Try 'outfile.Write(DateTime.Now.ToString("mm/dd/yyyy - H:mm:ss:fffffff") & "--->" & i & vbCrLf) Console.WriteLine(DateTime.Now.ToString("HH:mm:ss:ff") & " - " &

我运行这段代码来创建一个活动日志窗口

Sub writetolog(i As String)
    Try
        'outfile.Write(DateTime.Now.ToString("mm/dd/yyyy - H:mm:ss:fffffff") & "--->" & i & vbCrLf)
        Console.WriteLine(DateTime.Now.ToString("HH:mm:ss:ff") & " - " & i)
        If String.IsNullOrWhiteSpace(i) = False Then LogLB.Items.Add(DateTime.Now.ToString("[" & "MM/dd/yy - HH:mm:ss:ff") & "] -- " & i) 'Else MsgBox(i & " is nothing!")
        If LogLB.Items.Count >= 100 Then LogLB.Items.RemoveAt(0)
        If LogLB.Items.Count > 0 Then LogLB.SelectedIndex = LogLB.Items.Count - 1
    Catch ex As Exception
        Console.Write(ex)
    End Try
End Sub
所以它大部分时间都能工作,但由于某些原因,在看似随机的时间,我得到一个空异常,它指向

LogLB.Items.Count - 1

为什么?

在方法的开头放一个断点,看看什么是空的,为什么是空的。我同意@ataravati,但也请发布完整的堆栈跟踪。在这种情况下,似乎不可能获得NullReferenceException。猜测,但如果组合框没有项,是否可能是items或selectedIndex返回null?我很难设置断点来查看它何时发生,因为这将运行数百次而没有问题(几个小时)。如果我放了一个断点,我必须知道什么时候会发生,在这种情况下,我必须知道为什么。我必须学习如何进行堆栈跟踪。因为很多这对我来说还是新鲜事。