노드에서 HTTP 오류 응답을 생성할 때의 오류 처리입니다.js 응용 프로그램

나의 블로그Separate routing from business logic in node.js | Central response generation in node.js에서 우리는 업무 논리 모듈에서 생성된 응답에서 중앙 HTTP 응답 생성을 어떻게 실행하는지 보았다.응용 프로그램에서 다른 오류 상황이 발생할 수 있습니다.우리는try-catch를 사용하여 이러한 오류 조건에 대한 코드를 작성하고 프로그래밍 언어가 제공하는 구조를 내놓기를 희망합니다.그러나 HTTP 오류 응답에 대해서는 좋지 않다.클라우드 로컬 응용 프로그램 개발에서 이 오류를 HTTP 오류 응답으로 변환해야 합니다.코드에서 버퍼링 이상을 처리하고 HTTP 오류 응답으로 집중적으로 변환할 필요가 있습니다.
errorHandler를 만들 수 있습니다.오류를 HTTP 응답으로 변환하기 위해 js 파일에서 코드를 작성했습니다.
errorHandler는 다음과 같습니다.
function errorHandler() {
  return (err, req, res, next) => {
    if (err instanceof TypeError) {
      return res.status(400).json(err.name + ": " + err.message);
    }
    if (err && err.statusCode) {
      return res.status(err.statusCode).json(err.body);
    }
    return next(err);
  }
}

module.exports = errorHandler;
그리고 이 errorHandler를 응용 서버에 가져와서 app.use(errorHandler) 응용 프로그램으로 사용해야 합니다.이런 방식을 통해 우리는 모든 곳에서 오류를 HTTP 응답으로 바꿀 필요가 없다. 우리는 단지 한 곳에서만 전환할 수 있다.물론, 오류가 발생할 수 있는 모든 파일에서try-catch-throw 구조를 사용하여 오류를 제거해야 합니다.모든 버려진 오류는 이 코드에 의해 집중적으로 포착될 것이다.
전체 예는 my blog post를 참조하십시오.

좋은 웹페이지 즐겨찾기