#nodejs# express統一異常處理

在這裏插入圖片描述
文件路徑: /router/index.js
使用到的npm包: boom

const express = require('express')
const boom = require('boom')
const userRouter = require('./user/user')
const {ERR_CODE} = require('../utils/constant')

const router = express.Router()

router.get('/', function(req, res) {
    res.send('index.html')
    res.end()
})

router.use('/user', userRouter)

router.use((req, res, next) => {
    next(boom.notFound('頁面不存在...'))
})

router.use((err, req, res, next) => {
    console.log(err)
    const code = ERR_CODE
    const msg = (err && err.message) || '系統錯誤'
    const statusCode = (err.output && err.output.statusCode) || 500
    const errMsg = (err.output && err.output.payload && err.output.payload.error) || err.message
    res.status(statusCode).json({
        code,
        msg,
        statusCode,
        errMsg
    })
})

module.exports = router

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章