记录下koajs的异常使用:下面介绍一下 几个文件test.js启动文件router.js 路由文件api/Admin.js 逻辑处理文件 koajs的异常处理逻辑代码如下[放在test.js 启动文件中]/**
* 统一处理默认Error
*/
app.use(function *(next) {
try {
yield next;
} catch (err) {
this.status = err.status;
this.body = {
name: "QeeniaoApiServerError",
code: err.status || 600,
message: err.message || "Server internal error.",
success: false
}
}
});600 :我自己定义的,为了区别系统的错误接下来简单的看下路由:router.post('/mail/import', Admin.mailImport);
router.post('/mail/billquery', Admin.mailBill);这个router 我使用的是koa-router好了, 到这里应该说一切都没问题了.下面就看我们如何出发这个错误了那么在Admin.js里面我们写段代码:module.exports.mailBill = function *(next){
var uid = _uid(this.request);
var taskid = this.request.body.taskid;
if (!uid || !taskid) {
return this.throw('任务参数不能为空');
}
//测试使用
return this.throw('任务参数不能为空');
}没错就是这句代码:this.throw('任务参数不能为空');当触发的时候,就会调用test.js的错误处理逻辑,可以了,动起来吧.