Exprpess의 기본 제공되는 미들웨어 기능중 Error Handling 기능을 사용하여 오류 처리 코드를 작성해보겠습니다.
test로 호출할 api를 작성하고 error handling 로직을 추가합니다.
error handling은 middleware에서 app.use()와 routes call 마지막에 추가합니다.
간단한 예제 코드는 아래와 같습니다.
// test.ts
app.get('/test', (req, res, next) => {
setTimeout(() => {
try {
throw new Error('BROKEN')
} catch (err) {
//오류 발생시 next() 호출
next(err)
}
}, 100)
})
// index.ts
const bodyParser = require('body-parser')
const test = require('./test')
app.use(bodyParser.urlencoded({
extended: true
}))
app.use(bodyParser.json())
// api
app.use(test())
// error handling (마지막에 호출)
app.use((err, req, res, next) => {
console.error(err);
res.status(500).send('Something broke!')
})
Reference
https://expressjs.com/en/guide/error-handling.html