Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Sub过早结束了吗?_Vb.net - Fatal编程技术网

Vb.net Sub过早结束了吗?

Vb.net Sub过早结束了吗?,vb.net,Vb.net,这段代码永远不会到达第二个for,我可以在结尾处放置一个断点,如果在那里,它会触发_rows.Count,就像它应该的那样,但是如果在第二个for或之后有断点,它就永远不会到达。没有错误消息,程序没有冻结或任何东西,其行为与我所做的完全相同: For i As Integer = 0 To _rows.Count If (_rows(i).LeftOffset > largestOffset) Then largestOffset = _ro

这段代码永远不会到达第二个for,我可以在结尾处放置一个断点,如果在那里,它会触发_rows.Count,就像它应该的那样,但是如果在第二个for或之后有断点,它就永远不会到达。没有错误消息,程序没有冻结或任何东西,其行为与我所做的完全相同:

    For i As Integer = 0 To _rows.Count
        If (_rows(i).LeftOffset > largestOffset) Then
            largestOffset = _rows(i).LeftOffset
        End If
    Next i

    For i As Integer = 0 To _rows.Count

上限应为_rows.Count-1。循环的最后一次循环将失败,出现IndexOutOfRangeException


我发现在VB.net中的一些地方,特别是在Form_Load中,调试器不会显示错误,Sub只是静静地退出,程序继续。但是,它周围的try…catch块将捕获异常。

您尝试了_rows.count-1?当您超出上限时,可能会抛出异常。谢谢,是的,它刚刚退出,我想这是调试器的错误(或功能)。我不认为它只是调试器-我认为它在运行时也适用,这里的错误不会传播到任何其他异常处理程序。我现在习惯于在任何复杂表单的整个表单加载中添加一个try…catch,即使它所做的只是在消息框中显示异常。当初始化的一部分没有运行,然后在表单代码中出现崩溃时,这可能是一个真正的难题。
    For i As Integer = 0 To _rows.Count
        If (_rows(i).LeftOffset > largestOffset) Then
            largestOffset = _rows(i).LeftOffset
        End If
    Next i

    Return

    For i As Integer = 0 To _rows.Count