繁体   English   中英

如何处理 Catch 块中的错误

[英]How to handle errors inside Catch block

在我的应用程序中,我的 REST 调用得到了 System.NullReferenceException。 此错误是由 Catch 块中的代码引起的。 在 Catch 块中放置另一个 try catch 块是个好主意吗? 在下面的代码中,Catch 块中的代码行抛出错误。

resultObject.ErrorResponse = _client.GetErrorResponse(Of List(Of ErrorResponseObject))(ex, "{""errors"":")

如何解决此问题,以便用户看不到任何错误。 这是我的代码。

    Public Shared Function POSTCall()
_client = New BaseClient()
    Try

        strJsonResponse = _client.ExecuteURI(serviceUrl, requestHeader, "POST", resultObject, False, False)

    Catch ex As WebException            
        resultObject.ErrorResponse = _client.GetErrorResponse(Of List(Of ErrorResponseObject))(ex, "{""errors"":")      'This line causing error

        If Not IsNothing(resultObject.ErrorResponse) Then
            ' do some work
        End If

    Catch Exp As Exception
        'Supress the error. Let user goto next step.
    Finally
        _client = Nothing
    End Try

    Return resultObject
End Function

您必须在catch块内捕获错误。 这是特别适当的,因为代码试图执行的操作是获取有关已经发生的错误的更多信息。 当然,即使应用程序可以继续,记录发生的任何错误也是一个好主意。

我更喜欢在 catch 中做非异步的事情。 在我需要执行异步 function 说回滚数据库事务的情况下,我将抛出错误并让另一个异步 function 以同步方式在它的 catch 块中处理它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM