Node.js 및 Express.js의 예외에 대한 Typescript 사용자 정의 함수 핸들러

안녕, 개발자!



우선, 1단계는 예외에 대한 함수 핸들러를 빌드하는 것입니다. throw를 사용할 때 응용 프로그램이 중단될 것이기 때문에 필요합니다. 따라서 try/catch 범위를 사용하고 catch에 들어갈 때 아래 메서드를 사용하여 예외를 가져옵니다.

/미들웨어/ErrorHandler.ts

import { NextFunction, Request, Response } from 'express';

class ErrorHandler {

    public static handle(error: Error, _req: Request, res: Response, next: NextFunction) {
        res.status(500).json({ message: error.message });
        next()
    }
}

export { ErrorHandler }


app.ts를 만들어 봅시다:

/src/app.ts

import express from 'express';
import { ErrorHandler } from './middlewares/ErrorHandler';
import { NextFunction, Request, Response } from 'express';

const app = express();
app.use(express.json());
app.post('/handler', (req: Request, res: Request, next: NextFunction) => {
try{
  if(req.body.number < 0)
    throw new Error('Negative number!');
}catch(error: any) {
 next(error)
}
});
app.use(ErrorHandler.handle); // necessary to be the last middleware to get the exception.

export default app;


API를 시작하기 위해 server.ts 파일을 생성해 보겠습니다.

import app from './app';

const PORT = process.env.PORT || 3001;
app.listen(PORT, () => 
     console.log(`Running server on port: ${PORT}`));
})


본문 요청에 음수를 전달하면 예외가 발생하고 마지막 미들웨어(ErrorHandler)가 예외를 가져오기 때문에 사용자 정의 처리기로 처리합니다.

그게 다야!

콘택트 렌즈
이메일: [email protected]
인스 타 그램:
링크드인:
트위터:

좋은 웹페이지 즐겨찾기