技术开发 频道

如何在JavaScript中写一个Bug跟踪器

  【IT168 评论】在编程生涯中,几乎每个开发人员都被Bug逼疯过几次,一个Web应用程序在本地机器上运行一切正常,但在客户端运行时,客户总是各种抱怨,比如中断操作,接口无响应等等。根据我的经验,Web程序出问题的很大一部分原因是由于浏览器版本或类型不同造成的。也就是说,即便你经过了很多测试,但客户那还是可能出问题。客户有问题,就不能不管,但你可能不知道如何解决这个问题,因为在你的机器上一切正常。

  对于这些情况,一些公司已经创建了自动错误跟踪解决方案,如Airbrake或BugDigger。然而,如果我们只有一个小项目,我们不需要这样一个巨大的解决方案,况且我们也没那么多精力,最重要的原因是,就算搞一个巨大的解决方案,客户也不一定想支付,因为它不能用来盈利,这时我们该怎么办?

  我们可以在我们的JS源代码中创建自己的错误跟踪器。根据自动向服务器发送请求的错误原型Error-Prototype写一个自己的ErrorHandler-Object,在数据库中写下错误消息,为客户创建编号,并将新编号发送到客户端,客户端将接到通知。

  具体步骤

  首先,创建一个函数来处理我们的Error-Handling-Logic。这是ErrorHandler对象构造函数方法。

如何在JavaScript中写一个Bug跟踪器

  我的表方案包含以下列:

如何在JavaScript中写一个Bug跟踪器

  注意:我从大多数会话数据中提取用户。如果有超过五个人在使用该工具,可推断为是一个特定组在交互,数据库服务器我使用了MS SQL。

  我的PHP控制器,接收请求,比如:

如何在JavaScript中写一个Bug跟踪器

  为了区分不同的客户,如果决定将多个客户路由到表上,请求里还应该包含客户名称。

  创建ErrorHandler对象

  下一步创建ErrorHandler-Object,它从本地的Error-Prototype继承,并将Error-Handling-Logic作为构造函数。 

如何在JavaScript中写一个Bug跟踪器

  在JavaScript中使用ErrorHandlerAutomatically

  最后,我们将ErrorHandler-Object附加到window.onerror事件,以确保在浏览器中出现严重错误时可以调用它。

如何在JavaScript中写一个Bug跟踪器

  要抛出手动异常,只需在try/catch-block中调用以下代码:

如何在JavaScript中写一个Bug跟踪器

  对于一个小项目来说,这就足够了,可以提供一个比较低水平的错误追踪功能。但客户满意才是王道,所以你的客户能不能接受这种方式还未可知,使用时要慎重。在我看来,这些代码的成本对于小型客户端,网站和应用程序来说是可接受的。

0
相关文章