开发者

Better way to Handle error

开发者 https://www.devze.com 2022-12-29 19:03 出处:网络
I recently migrated a VB6 app to V开发者_Python百科B.Net. Entire VB6 dependency are removed . And the code was working fine just for a single module mean to say like for WinApp it is working fine.

I recently migrated a VB6 app to V开发者_Python百科B.Net. Entire VB6 dependency are removed . And the code was working fine just for a single module mean to say like for WinApp it is working fine.

Now my requirement has been changed, now the same class will be accessed by multiple application , it might a Windows App, Web App or a web service. So I am not able decide any efficient error handling pattern.

So you you guys help me out. Currently what I am doing is that parent function , i am passing two vars LogError as bool and ErrorMessage as string parameter, that will further check something like this

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

Also same catch block is used in all other functions/ subroutines. So what I need is any elegant handling method that will work efficiently on cross-app platform(win/web/service)


I'd suggest logging the messages, either to a log file or to the Event log, but why not let the clients choose, in that you could add some methods to let the client decide where it should be logged. Though instead of having your exception handler handle the message and put it into an errormessage variable I'd just follow the logging with a throw so that the Exception continued up in the call chain until some code that knew how to handle it got it.

In general it's not good practice to catch Exception, you should catch only the exceptions that you can handle. But I think it's ok if you just want to log it and then will re-throw it again.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号