精华

  Errorable, Javascript错误处理解决方案

Author Avatar calidion 发表于 • 2016年01月19日 12:14 • 共 • 955 • 次浏览

Errorable

前身是 Web Errors(https://github.com/JS-Errors/node)

Web Errors的项目已经投入使用,但是使用过程里发现问题比较多, 所以才有了Errorable这个项目,解决之前碰到的问题。

项目地址:

https://github.com/calidion/errorable

旨在解决Javascript的错误定义,交流,自定义,国际化,API化等问题。 这次发布的Errorable基本上解决了在我的项目中被困扰的所有跟错误相关的问题。 可以通过自定义json文件或者加载json对象定义所有错误 目前已经定义的错误是一部分的HTTP错误: https://github.com/calidion/errorable/blob/master/lib/stocks/protocols/http.js

功能说明:

  1. 域(Domain)
    类似于前缀(Prefix),方便错误的识别
  2. 预定义错误(即标准错误)
    预定义库会随着时间不断的累积,方便使用
  3. 国际化
    错误的消息值可以随着不同的区域发生变化
  4. 定制化
    通过指定错误文件定制错误信息
  5. 一致性 由于错误名采用字符标识,对于相同名字的错误,不同的项目可以通用,方便了项目的沟通过。

安装

$ npm install --save errorable

使用

//获取错误接口
var errorable = require('errorable');

//错误批量生成
var Generator = errorable.Generator;
var errors = new Generator(errorable.stocks.http, 'zh-CN').errors;
//errors.Ok.code
//errors.Ok.message
//errors.Ok.name

//错误临时生成

var Errorable = errorable.Errorable;
var error = new Errorable({
      name: 'UserNotFound',                 //Sequential Error Description
      prefix: 'java',                       //Prefix for Messages
      code: 404,                            //Numeric value for this error
      messages: {
        'zh-CN': '用户未定义',
        'en-US': 'User is not found!'
      } ,        //Customized Error Messsage
      locale: 'en-US',                      //Locale for errors
    });
//error.name => "UserNotFound"
//error.code => 404
//error.message => "java:User is not found!"
//error.restify() => { code: 404, message: "java:User is not found!", name: 'UserNotFound'}

抛出错误

throw error;

错误消息(message)、错误代码(code)和错误名称(name)

  • 错误消息可以添加前缀,可以根据地区变换
  • 错误代码可以自定义,也可以预定义
  • 错误名称直接使用字符串,可在做到语言无关,在所有的项目中通用,并且可以唯一标识
最后编辑于 • 2016年10月25日 23:53 •  

你尚未登录,无法进行回复。