异常处理的解决方案 OneTrueError
应用程序安装在用户计算机上,异常处理一直是反复出现的问题。用户报障中的描述不足以重现该问题。你不得不猜测,或者只是做猴子测试,以找出其异常出现的根源。
最严重的问题是当认为你已经找出了原因并纠正它,但后来您收到新的报障,还是同样的问题,证明自己只是让原来的代码变得更加复杂。
为此您不断的改进异常日志的记录, 试着不错过任何一个细节。为什么抛出异常?到底错过了哪些信息。OneTrueError 也是在尝试解决这些问题。它绕过用户直接向程序员报告异常,详尽到相关的处理上下文信息。
OneTrueError 包括客户端 (nuget 程序包) 和服务器 (IIS web 应用程序)。客户在您的应用程序,收集异常的上下文信息,并将所有内容上载到服务器。
让我们通过一个简单的控制台程序报告异常,看看我们得到什么新鲜玩意。
class Program { static void Main(string[] args) { // 初始化 var url = new Uri("http://localhost/onetrueerror/"); OneTrue.Configuration.Credentials(url, "yourAppKey", "yourSharedSecret"); try { throw new InvalidOperationException("Hello world"); } catch (Exception ex) { OneTrue.Report(ex); } } }
该代码运行时抛出异常,并将异常信息上载到服务器。当打开 OneTrueError 网站,您将看到这样的场景︰
仪表盘展示了在 OneTrueError 中配置的所有的应用程序。
Incident(事件) 已被确定为同样的错误的记录。
Active incidents (活动事件) 未解决或忽略的事件。
Report Count (报告数量) 上载的错误报告
UsersWaiting (等待用户) 被转到异常页面并输入了邮件地址的用户
Feedback count (反馈记录数) 用户编写的错误说明