簡體   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