异常处理的解决方案 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  (反馈记录数)     用户编写的错误说明

 

posted @ 2016-09-11 11:32  巴别塔  阅读(782)  评论(0编辑  收藏  举报