我有个奇怪的问题。 最好用代码呈现:
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?