从catch语句中引发异常时会发生什么?

时间:2018-07-16 17:11:30

标签: vb.net

我正在查看一些代码,并且有一个try/catch/finally块,其中try块包含一些逻辑并在else子句中定义了异常类型,如果应用程序进入那一点。在catch块中仅是关键字throw。执行该throw语句时到底发生了什么?是否在某个地方记录了堆栈跟踪?错误会在浏览器窗口中显示给用户吗?应用程序会崩溃吗?

代码看起来像这样。

Try
    If something then
        some logic
    Else
        Dim exception As specialException("some message")
        exception.Source = "source"
        Throw exception
    End If
Catch ex As specialException
    Throw

1 个答案:

答案 0 :(得分:0)

它将异常传递给下一个处理程序。如果在方法调用周围有一个try ... catch块,在该块中捕获并引发了异常,则将由该处理程序拾取并处理该异常。任何堆栈跟踪日志记录或错误显示都必须在此完成。

如果没有try ... catch块,那么您将面临未处理的异常。