更好的处理错误的方法

时间:2010-05-05 07:07:10

标签: vb.net error-handling

我最近将VB6应用程序迁移到了VB.Net。删除整个VB6依赖项。并且代码工作正常只是为了单个模块意味着像WinApp一样工作得很好。

现在我的要求已经改变,现在同一个类将被多个应用程序访问,它可能是Windows应用程序,Web应用程序或Web服务。所以我无法确定任何有效的错误处理模式。

所以你们帮帮我了。目前我正在做的是父函数,我传递两个vars LogError作为bool,ErrorMessage作为字符串参数,这将进一步检查这样的事情

Catch(ex as Exception)
     If LogError then
          MessageBox.Show("My_Module_Name :" & ex.Message)
     EndIf
     ErrorMessage = ex.Message
End Try

在所有其他函数/子例程中也使用相同的catch块。 所以我需要的是任何优雅的处理方法,它将在跨应用程序平台(win / web / service)上高效工作

1 个答案:

答案 0 :(得分:4)

我建议将消息​​记录到日志文件或事件日志中,但为什么不让客户选择,因为您可以添加一些方法让客户端决定应该记录的位置。虽然不是让您的异常处理程序处理消息并将其放入errormessage变量中,而是仅使用throw跟踪日志记录,以便Exception在调用链中继续,直到某些代码知道如何处理它得到它。

一般来说,抓住Exception并不是一个好习惯,你应该只捕捉你可以处理的异常。但我认为如果您只想记录它然后再次重新抛出它就没问题。