使用Express创建一个基本框架(第1.1部分)
#教程 #node #express #errors

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!!' })
  1. 创建一个新文件夹例外
  2. 创建 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
    }
    
  3. 编辑 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)
        }
    })
    ...
    
  4. 现在转到localhost:3000/error查看500服务器错误