「ポートフォリオ」ノード.jsの例外をクリア
問題が発生
ポートフォリオは私の最初のノードです.jsプロジェクトです.
非同期コードの作成に慣れていないため、wait文やtry-catch文が多く使われています.
これにより、予期せぬエラーが発生した場合、正しい応答が返されない可能性があります.
再包装が必要なコード(見苦しいパスタコード)が増えています.
パスタコードの蓄積に伴い、追加機能が制限され、本格的にチャット機能を実現する前に、
例外をきれいに処理して、開発味のあるコードに変えたい!!
現在の私のコード
let getUserInfo = async (req,res) => {
let verifyTokenRes = await authServiceInstance.verifyAccessToken(req.headers);
if (verifyTokenRes === null || verifyTokenRes.code < 0)
{
res.status(401).json(verifyTokenRes);
return;
}
try {
const userInfo = await userServiceInstance.getUserInfo(req.params.userId);
if (!userInfo)
return res.status(404).json('나의 정보보기 오류');
res.status(200).json(userInfo);
} catch (e) {
console.log(e);
res.status(500).json({ message: "회원정보 조회 실패" });
}
}
会員情報を受信するcontroller内関数.(tokenが次の文章にミドルウェアを適用することを確認します)
コードを見ると、関数全体がtry catchに囲まれています!!
これはコントローラの関数だけでなく、サービス内の関数もこのようにしています.
try-catchがあるので、どこが間違っているのかわからないので、メンテナンスが大変です.
最近のSpringプロジェクトでは
@ControllerAdvice
と@ExceptionHandler
を使用しています異常処理を容易に行う方法を学び、異常処理をグローバルに移行するのが便利すぎることに驚いた.
だからポートフォリオもこのような例外処理に変えたい~
Reference
この問題について(「ポートフォリオ」ノード.jsの例外をクリア), 我々は、より多くの情報をここで見つけました https://velog.io/@tlsrlgkrry/포트폴리안-node.js에서-예외처리-깔끔하게-하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol