Skip to content

chaseunghyeok/49-1st-Team7-backend

 
 

Repository files navigation

Team 7

Directory tree

├── app.js
├── models
│ └── index.js
├── package-lock.json
├── package.json
├── pull_request_template.md
├── readme.md
└── utils
└── throwError.js

Error handler

// app.js
app.use((err, _, res, next) => {
  res.status(err.status || 500);
  return res.json({
    error: `${err.status ? err.status : ""} ${err.message}`,
  });
});

에러 핸들링용 미들웨어로 route.use 메서드의 catch 에서 잡히는 모든 에러를 catch단에 next(err)를 호출함으로써 공통으로 처리할 수 있습니다.

예시
app.delete("/posts", async (req, res, next) => {
  try {
    const { post_id } = req.body;
    const { id } = req.query;
    if (id) {
      await dataSource.query(
        `DELETE FROM posts WHERE posts.id=? AND posts.user_id=?`,
        [post_id, id]
      );
      return res.status(200).json({ message: "post deleted" });
    }
    throwError(401);
  } catch (err) {
    console.error(err);
    next(err);
  }
});

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%