用户登录

在 app.middleware 里面可以定义一个默认的异常处理器。异常处理器就是一个函数,跟中间件还有接口处理器差不多。只不过它多了一个 error 参数。

export 一个函数,名字叫 defaultErrorHandler,用箭头函数的写法定义它,这个函数有几个参数,一个是 error,类型可以设置成 any,还有 request,类型是 Request,response,类型是 Response,还有一个 next 类型是 NextFunction。

在这个函数里可以先添加两个东西,用 let 声明它们,因为在后面我们要根据不同的情况设置它们的值,一个是 statusCode,表示响应的状态码,它的类型可以设置成 number,就是数字。逗号分隔一下,再声明一个 message,类型是 string,表示它是一个字符串类型的值,这个 message 表示的是响应里的信息。

下面可以根据在应用里发生的不同的异常情况做出不同的处理,这里可以用一个 switch 区块,检查一下 error 参数里的 message ,假设 error 里面有 message 这个属性,它的值就是异常信息。可以根据这个异常信息的值做出不同的处理。

这里我们暂时只添加一个默认的情况,可以让 statusCode 等于 500,让 mesasge 的值等于服务暂时出了点问题。

函数的最后可以直接做出响应,用一下 response.status 把响应的状态码设置成 statusCode 表示的值,接着可以再用 send 设置响应的数据,一个对象,里面有一个 message 属性,对应的值就是上面的这个 message。

下面需要再配置一下应用,让它使用这个默认的异常处理器,打开 src/app 下面的 index.ts,然后这个文件的顶部导入 defaultErrorHandler ,这个东西来自当前目录下的 app.middleware。

然后在导出 app 的上面可以配置使用一下默认的异常处理器,用一下 app.use 这个方法,把 defaultErrorHandler 交给它。

这样如果在应用里发生了异常情况都可以被这个默认的异常处理器处理。

创建默认的异常处理器《 Node.js 服务端应用开发:设计架构 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点