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]
인스 타 그램:
링크드인:
트위터:
Reference
이 문제에 관하여(Node.js 및 Express.js의 예외에 대한 Typescript 사용자 정의 함수 핸들러), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/luizcalaca/typescript-customized-function-handler-for-exceptions-with-nodejs-and-expressjs-2onl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)