当前位置 : 主页 > 网络编程 > ASP >

asp.net – WinForms和Asp的类库中的异常处理

来源:互联网 收集:自由互联 发布时间:2021-06-24
我一直在编写一个包含业务逻辑的类库,它将在一个新的 winforms项目和一个现有的asp.net项目中使用. 在开发过程中,我乱用了图书馆 Try 'WhateverCatch ex as exception Msgbox("Friendly error message", e
我一直在编写一个包含业务逻辑的类库,它将在一个新的 winforms项目和一个现有的asp.net项目中使用.

在开发过程中,我乱用了图书馆

Try 
'Whatever
Catch ex as exception
 Msgbox("Friendly error message", ex.message) 
end try

哪个适用于winforms,但不适用于asp.net
我需要一种友好(且简单)的方法来捕获适用于两个平台的异常.
或者更好的问题可能应该是我应该在类库中捕获异常吗?

Or a better question could probably be SHOULD I be trapping exceptions in the Class Library at all?

不应该.类库永远不应该做异常.您只是模糊了发生错误的真正原因,使开发人员更难理解出现了什么问题.

如果该开发人员是您或另一个开发者并不重要.因为当你从现在起一年后返回代码时,你将不知道究竟发生了什么(除非原始异常完好无损).

至于异常处理,我100%反对在应用程序中到处都有try / catch语句.真的没有任何好处.在WinForms中,使用Application.ThreadException事件向用户显示消息框.在ASP.NET中重写Error事件以记录异常并显示友好的错误页面.

我还创建了一个名为OneTrueError的服务,它可以为您提供一切服务.它有一个你可以使用的免费版本.

网友评论