Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了具有Express的Node.js – 抛出错误vs next(错误)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以在node.js Express应用程序中说明适当的时间来抛出错误,如下所示:

throw new Error('my error');

或者通过回调传递此错误,通常标记为’next’,如下所示:

next(error);

你能解释一下他们每个人在Express应用程序环境中会做些什么吗?

例如,这是一个处理URL参数的快速函数

app.param('lineup_id',function (req,res,next,lineup_id) {
        // typically we might sanity check that user_id is of the right format
        if (lineup_id == null) {
            console.log('null lineup_id');
            req.lineup = null;
            return next(new Error("lineup_id is null"));
        }

        var user_id = app.getMainUser()._id;
        var Lineup = app.mongooseModels.LineupModel.getNewLineup(app.system_db(),user_id);
        Lineup.findById(lineup_id,function (err,lineup) {
            if (err) {
                return next(err);
            }
            if (!lineup) {
                console.log('no lineup matched');
                return next(new Error("no lineup matched"));
            }
            req.lineup = lineup;
            return next();
        });
    });

评论的行中“//我应该在这里创建自己的错误吗?”
我可以使用“抛出新错误(‘xyz’)”,但究竟是什么呢?为什么通常更好地将错误传递给’next’回调?

一个问题是 – 当我在开发中时,如何让“抛出新错误(‘xyz’)”显示在控制台以及浏览器中?

解决方法

一般表示遵循传递错误而不是抛出错误的方式,对于程序中的任何错误,您可以将错误对象传递给“下一个”,还需要定义错误处理程序,以便可以处理传递给下一个的所有错误正确

http://expressjs.com/guide/error-handling.html

大佬总结

以上是大佬教程为你收集整理的具有Express的Node.js – 抛出错误vs next(错误)全部内容,希望文章能够帮你解决具有Express的Node.js – 抛出错误vs next(错误)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: