2017-09-21 51 views
-2

這不是問題,它是Q & A格式。禁用異常錯誤(.NET錯誤消息/對話框)並恢復代碼

這是非常有幫助的,如果你從遠程文本文件接收的東西,或者下載東西,或者等

如果服務器沒有響應,或互聯網是不可用,或者該文件不存在...將出現超時或404或500錯誤...

編輯:對我來說,Try-Catch塊沒有解決問題,但是下面的解決方案將禁用「所有」的錯誤,所以如果你想要顯示錯誤,請不要使用它。

編輯:使用計時器,如果你想在做同樣的事情重試。

所以請參閱下面的答案知道如何禁用ALL的.NET錯誤消息和剛剛恢復的代碼不暫停它,甚至顯示錯誤消息。

:)

+1

爲什麼抑制所有異常會有幫助?存在異常處理是有原因的:捕獲在正常應用程序流中不應發生的情況。這些事件必須被捕獲並處理,當一段代碼拋出異常時,應用程序的進一步流程可能會受到影響。例如:從網上下載一個txt文件並在你的應用程序中處理它。如果下載引發異常,如何完成處理? – Abbas

+0

https://blogs.msdn.microsoft.com/ericlippert/2008/09/10/vexing-exceptions/ – Enigmativity

+0

在我的情況下,我的服務器很慢,它超時了很多,我的客戶報告說「操作超時「。錯誤很煩人。 首先,我嘗試使用Try-Catch塊併發布新版本,但仍然出現錯誤。 所以這是我唯一有用的解決方案。 @Abbas我的代碼在定時器上執行,它會再次嘗試。 – MatrixCow08

回答

-2

下面是答案:

來源:https://social.msdn.microsoft.com/Forums/en-US/74a2c6d3-3c22-42da-9926-2a7df7f5f411/disable-microsoft-net-framework-error-messages?forum=vbgeneral

  1. 轉到項目>>項目屬性。
  2. 單擊「查看應用程序事件」。
  3. 在局部類代碼添加這一點,所以它看起來就像是在最後:

    Partial Friend Class MyApplication 
    
    
        Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException 
         ' do nothing ! 
         ' this disable the unhandled exception errors from displaying on the application 
         On Error Resume Next 
         Resume 
        End Sub 
    
    End Class 
    

注:如有需要替換「MyApplication的」。

  • 保存項目,並構建它。

  • 現在,當您的應用程序運行時,您不會注意到錯誤消息。

  • +2

    你爲什麼要這樣做?這不好。您希望處理您可以處理的異常,並優雅地處理那些您無法處理的異常。不要讓應用程序繼續。 – Enigmativity

    +0

    是否有人訂購意外行爲? –