在Part 1中,创建了错误处理。让我们更容易提出错误。
而不是
let error = new Error('This is a major issue!!')
error.statusCode = 500
throw error
我们将把它像这样
throw new ServerError({ message: 'This is a major issue!!' })
- 创建一个新文件夹例外
-
创建 serverror.js 在例外文件夹
class ServerError extends Error { constructor(resource) { super() this.name = this.constructor.name // good practice this.statusCode = 500 this.message = resource ? resource.message : 'Server Error' } } module.exports = { ServerError }
-
编辑 index.js ,关于如何使用它
// index.js ... const { ServerError } = require('./exceptions/ServerError') ... app.get('/error', async (req, res, next) => { try { throw new ServerError() // or // throw new ServerError({ message: 'A huge mistake happened!' }) } catch (error) { return next(error) } }) ...
-
现在转到
localhost:3000/error
查看500服务器错误