在Final Block中始终抛出新异常

时间:2018-11-28 13:25:31

标签: vb.net

我有个奇怪的问题。 最好用代码呈现:

Try
        <CODE>

Catch ex As Exception
        TPETrace.writeToLogFile("C3NetWrapper.SendToC3 exception: " & ex.ToString())
        Throw ex
    Finally
        If bRetValue Then
            TPETrace.writeToLogFile("Com1")
        Else
            TPETrace.writeToLogFile("Com2")
            Throw New Exception("Error")
        End If
    End Try

好,所以无论是Try还是Catch,当我的Final块被调用且bRetValue = true时,我的行“ Com1”将按预期的方式被调用,然后在调试期间它将直接转到“ End”如果”行...但是当我尝试转到下一行时,它将回到“抛出新异常”行(甚至不调用“ Com2”)。

这是奇怪的行为,是否总是在Final块内部调用Throw New Exception?

0 个答案:

没有答案