首页 > 其他分享 >无涯教程-ExpressJS - 错误处理

无涯教程-ExpressJS - 错误处理

时间:2024-01-30 18:31:40浏览次数:28  
标签:err res app 中间件 无涯 next ExpressJS 错误处理

Express中的错误处理(error handling)是使用中间件完成,错误处理(error handling)中间件的定义方式与其他中间件函数相同,不同之处在于有四个参数,而不是三个– err,req,res,next ,示例如下

app.use(function(err, req, res, next) {
   console.error(err.stack);
   res.status(500).send('Something broke!');
});

无涯教程在中间件中的next()方法将带到下一个中间件/路由处理程序,通过一个示例来理解这一点。

var express=require('express');
var app=express();

app.get('/', function(req, res){
   //创建一个错误并将其传递给下一个函数
   var err=new Error("Something went wrong");
   next(err);
});

/*
 * 此处的其他路由处理程序和中间件
 * ....
 */

//错误处理中间件
app.use(function(err, req, res, next) {
   res.status(500);
   res.send("Oops, something went wrong.")
});

app.listen(3000);

该错误处理中间件可以地放置在路由之后以检测错误类型并响应到客户端。上面的程序将显示以下输出。

Error handling

参考链接

https://www.learnfk.com/expressjs/expressjs-error-handling.html

标签:err,res,app,中间件,无涯,next,ExpressJS,错误处理
From: https://blog.51cto.com/u_14033984/9491746

相关文章

  • 无涯教程-ExpressJS - RESTful API
    REST是RoyFielding在2000年的PaperFielding论文中提出的,RESTfulURI和方法为无涯教程提供了处理请求所需的几乎所有信息。下表列出了应如何使用各种动词以及如何命名URI,将在最后创建一个moviesAPI;MethodURIFunctionGET/movie获取所有电影及其详细信息的列表GET/m......
  • 无涯教程-ExpressJS - 身份验证
    为了创建身份验证系统,无涯教程需要创建一个注册页面和一个用户密码存储,以下代码创建了一个帐户并将其存储在内存中,这只是出于演示的目的;建议始终使用永久性存储(数据库或文件)来存储用户信息。varexpress=require('express');varapp=express();varbodyParser=require('body......
  • 无涯教程-ExpressJS - Cookies
    Cookie是简单的files/data,随服务器请求发送到客户端并存储在客户端,每次用户重新访问网站时,该cookie都会与请求一起发送。要将Cookie与Express一起使用,无涯教程需要cookie解析器中间件。要安装它,请使用以下代码-npminstall--savecookie-parser现在要在Express中使用cookie,需......
  • 无涯教程-ExpressJS - 模板(Templating)
    Pug是Express的模板引擎,Pug是一个非常强大的模板引擎,具有多种函数,包括filter,includes,inheritance,interpolation等。要将Pug与Express一起使用,无涯教程需要安装它。npminstall--savepug现在已经安装了Pug,将其设置为您的应用程序的模板引擎。将以下代码添加到您的index.js文......
  • 无涯教程-ExpressJS - 中间件(Middleware)
    中间件(Middleware)函数是可以访问请求对象(requestobject),响应对象(responseobject)以及应用程序的请求(request)-响应(response)中的下一个中间件函数。这些函数用于修改req和res对象,以执行诸如解析请求正文(responstbodies),添加响应标头(responseheaders)等任务。这......
  • 无涯教程-ExpressJS - HTTP方法
    请求中提供了HTTP方法,该方法指定了客户端已请求的操作。下表列出了最常用的HTTP方法-S.No.Method&Remark1GETGET方法用于获取数据2POSTPOST方法用于提交数据3PUTPUT方法用于修改数据4DELETEDELETE方法用于删除数据GETMethodGET请求通过在请求的URL部......
  • 无涯教程-ExpressJS - 路由(Routing)
    Web框架在不同的路径上提供HTMLpage,script,images等资源,以下函数用于在Express应用程序中定义routes路由-app.method该方法可以应用于任何HTTP请求方法–get,set,put,delete,处理程序是一个回调函数,当在相关routes上找到匹配的请求类型时执行。如,varexpress=require('express'......
  • 无涯教程-Django - Apache配置
    到目前为止,在无涯教程的示例中,已经使用了DjangodevWeb服务器,但是此服务器仅用于测试,不适合生产环境。一旦投入生产,您就需要一个真实的服务器,如Apache,Nginx等,在本章中讨论Apache。通过Apache为Django应用提供服务是通过使用mod_wsgi完成的。因此,第一件事是确保您已安装Apache和......
  • 无涯教程-Swift - 修饰符
    协议中的常量,变量和函数受到限制,并允许通过访问控制以全局和局部方式进行访问。Swift4语言提供了三种不同的访问级别。它们是公共,内部和私有访问权限。S.NoAccessLevels&Definition1Public使实体可以在其定义模块的任何源文件中进行处理,而在导入定义模块的另一个模块......
  • 无涯教程-Swift - Generics(泛型)
    Swift4语言提供"Generic"函数来编写灵活且可重用的函数和类型,泛型用于避免重复并提供抽象,Swift4标准库是使用泛型代码构建的。Swift4s的"Arrays"和"Dictionary"类型属于Generic集合。funcexchange(a:inoutInt,b:inoutInt){lettemp=aa=bb=temp}varn......