我一直在编写一个包含业务逻辑的类库,它将在一个新的 winforms项目和一个现有的asp.net项目中使用. 在开发过程中,我乱用了图书馆 Try 'WhateverCatch ex as exception Msgbox("Friendly error message", e
在开发过程中,我乱用了图书馆
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的服务,它可以为您提供一切服务.它有一个你可以使用的免费版本.