Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用于生产的Node.js中的错误处理和转发

用于生产的Node.js中的错误处理和转发
EN

Stack Overflow用户
提问于 2016-01-22 16:51:32
回答 1查看 235关注 0票数 0

请注意,我已经设置了一个域来捕获和处理应用程序中的异常,并避免应用程序崩溃。它可以工作,但我想如果我正在做写的事情,因为我也有这个代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
    message: err.message,
    error: {}
});

});

对于错误处理,我通常会收到一个错误,声明“在设置后无法设置标头”,这让我相信错误处理中间件已经在处理这个问题了。我需要一点指导,以提高在领域的node.js代码的有效方式错误处理的理解

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
app.use(function(req, res, next){
var reqDomain = domain.create();
reqDomain.add(req);
reqDomain.add(res);
reqDomain.on('error', function(err){
    console.log(err);
    res.statusCode = 500;
    res.render('errorpage');
});
reqDomain.run(next);

});

以此代码片段为例,假设出现错误,该错误将如何挂起。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
router.get('/usermanage',checkloggedIn.isAdminOrProfessor,function(req,res){
    User.find({}, function(error,data){
       if(error){
           console.log(error)
            res.render('errorpage');
       } else{
           console.log(data)
           res.render('ManageUsers',{mydata:data,SuccessMessage: req.flash('SuccessMessage'), ErrorMessage: req.flash('ValidationError')});

       }
    });

});如果回调返回错误,则呈现errorpage是好主意,还是应该返回err,然后将错误转发给错误处理程序?我对处理这件事的理想方式感到有点困惑。任何期望的建议都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-01-25 11:45:40

我想我找到了解决问题的办法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
router.get('/usermanage',checkloggedIn.isAdminOrProfessor,function(req,res,next){
    User.find({}, function(error,data){
       if(error){
           console.log(error)
            next(error)
       } else{
           console.log(data)
           res.render('ManageUsers',{mydata:data,SuccessMessage: req.flash('SuccessMessage'), ErrorMessage: req.flash('ValidationError')});

       }
    });

我将错误转发给errorhandler中间件,并用它为每个404和500错误定义两个错误。这对我来说很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34951933

复制
相关文章
Node.js 的错误处理机制
Node.js的API主要有两种风格,同步和异步,如何区分呢,大部分异步API一般都有一个回调函数 callback 作为其参数,而大部分同步API则不会,例如:
conanma
2022/01/05
2.1K0
生产环境下的Node.js
Node应用指标监控看板显示了运行中的Node.js应用程序的性能数据。这是一个简单的模块,在Node.js入口文件的顶部应用并初始化。你可以通过在终端中运行以下命令从npm安装。
花落花相惜
2021/11/26
1.9K0
Node.js 应用的御用品: Node.js 错误处理系统
开发中,有些开发者会积极寻求处理错误,力求减少开发时间,但也有些人完全忽略了错误的存在。正确处理错误不仅意味着能够轻松发现和纠正错误,而且还意味着能够为大型应用程序开发出稳健的代码库。
前端修罗场
2023/10/07
3130
Node.js 应用的御用品: Node.js 错误处理系统
R用于研究,Python用于生产
原文:R is for Research, Python is for Production
郭好奇同学
2021/03/25
1.5K0
R用于研究,Python用于生产
Upspin 中的错误处理
Upspin 项目使用自定义的包 —— upspin.io/errors —— 来表示系统内部出现的错误条件。这些错误满足标准的 Go error 接口,但是使用的是自定义类型 upspin.io/errors.Error,该类型具有一些已经证明对项目有用的属性。 这里,我们会演示这个包是如何工作的,以及如何使用这个包。这个故事为关于 Go 中的错误处理更广泛的讨论提供了经验教训。 动机 在项目进行几个月后,我们清楚地知道,我们需要一致的方法来处理整个代码中的错误构建、描述和处理。我们决定实现一个自定义
企鹅号小编
2018/02/07
2.1K0
Upspin 中的错误处理
适用于Node.js和TypeScript的完整ORM —— Prisma
Prisma是 Node.js 和 TypeScript 的下一代 ORM。经过两年多的开发,我们很高兴分享所有 Prisma 工具已准备好投入生产!
狂奔滴小马
2021/11/15
1.8K1
适用于Node.js和TypeScript的完整ORM —— Prisma
PHP中的错误处理
错误很常见,比如Notice,Warning等等。此时一般使用set_error_handler来处理:
LA0WAN9
2021/12/14
1.8K0
servlet和jsp中的Request转发,重定向有何区别_jsp重定向和转发的区别
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/04
9790
servlet和jsp中的Request转发,重定向有何区别_jsp重定向和转发的区别
【译】适用于Node.js和TypeScript的完整ORM —— Prisma
Prisma是 Node.js 和 TypeScript 的下一代 ORM。经过两年多的开发,我们很高兴分享所有 Prisma 工具已准备好投入生产!
狂奔滴小马
2022/03/29
1.9K0
【译】适用于Node.js和TypeScript的完整ORM —— Prisma
什么是转发和重定向转发_转发和重定向的相同点
1. 编写ResponseDemo1,将请求重定向到ResponseDemo2。
全栈程序员站长
2022/10/04
8340
什么是转发和重定向转发_转发和重定向的相同点
Dart 中的生产模式和检查模式
注: Dart 1.x有生产模式和检查模式两种运行模式, Dart 2中移除了检查模式。
莫斯
2020/09/10
1.4K0
Springmvc中的转发重定向和拦截器
Springmvc中的转发重定向和拦截器 可变参数 本人独立博客https://chenjiabing666.github.io 可变参数在设计方法时,使用数据类型...来声明参数类型,例如:public static void function(int... numbers)在实现方法体时,可变参数是作为数组来处理 public class Test { public static void main(String[] args) { System.out.println
爱撒谎的男孩
2018/05/10
3.8K1
Springmvc中的转发重定向和拦截器
Springmvc中的转发重定向和拦截器
文章目录 1. Springmvc中的转发重定向和拦截器 1.1. 可变参数 1.2. 转发和重定向 1.2.1. forward: 1.2.2. redirect: 1.2.3. 实例 1.3. 拦截器 1.3.1. 基本概念 1.4. 使用拦截器 1.4.1. 自定义拦截器类 1.4.2. 在springmvc的配置文件中配置 1.4.2.1. 配置 1.5. 其中实现的方法 1.5.1. 演示登录检查 1.5.1.1. 自定义拦截器(LoginInterceptor) 1.5.1.2. sprin
爱撒谎的男孩
2019/12/31
2.4K0
Nginx代理转发_nginx代理和转发的区别
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
6690
Shell中错误处理的探索
最近集中折腾了下闲置的NAS,总算是有了阶段性成果,过段时间我会单独写一篇Blog。写这篇文章主要是因为我在写一些维护脚本的时候正好遇到了需求,所以就尝试了一下。
KAAAsS
2022/01/14
2.8K0
nodejs中的异常错误处理
异常处理是程序运行中必须要关注的地方,当异常出现后,应该第一时间关注到,并且快速解决。大部分程序员们都不敢保证自己的代码百分比正确,所以应该在写代码时就要对异常提前做预防处理,尽量保证在异常出现时,给用户一个友好的提示,不至于服务挂起导致请求超时,并且能将异常信息做记录上报,方便后期排查解决。
ConardLi
2019/07/12
4.2K0
nodejs中的异常错误处理
nodejs中的异常错误处理
异常处理是程序运行中必须要关注的地方,当异常出现后,应该第一时间关注到,并且快速解决。大部分程序员们都不敢保证自己的代码百分比正确,所以应该在写代码时就要对异常提前做预防处理,尽量保证在异常出现时,给用户一个友好的提示,不至于服务挂起导致请求超时,并且能将异常信息做记录上报,方便后期排查解决。
用户1462769
2019/08/12
2.5K0
nodejs中的异常错误处理
适用于JavaScript和Node.js的JSON初学者教程
在本教程中,您将学习什么是JSON以及如何在JavaScript和Node.js中使用它。
海拥
2021/08/23
2.7K0
适用于JavaScript和Node.js的JSON初学者教程
生产环境下的 Node.js 日志记录方案[每日前端夜话0xFD]
设置正确的日志记录基础结构可帮助我们查找发生的问题、调试和监视应用程序。从最基本的角度来看,我们应该从基础架构中得到以下内容:
疯狂的技术宅
2019/12/23
1.1K0
生产环境下的 Node.js 日志记录方案[每日前端夜话0xFD]
javaweb转发和重定向的区别_servlet转发和重定向
接上文深入浅出Java MVC(Model View Controller) —- (JSP + servlet + javabean实例) ,聪明的你肯定会发现上篇文章的这个内容,见Servlet控制层代码:
全栈程序员站长
2022/10/04
6390

相似问题

node.js中的生产质量错误处理

10

用于生产和开发的快速错误处理中间件

35

如何代理/转发用于生产的后端API请求?

12

Node.js和端口转发

134

仅用于生产的node.js npm依赖项

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文