のエラー処理 Express.js: 効果的な戦略と応答メッセージ

アプリケーション開発中のエラー処理は、スムーズなユーザー エクスペリエンスを確保し、予期せぬ問題を軽減するために重要な要素です。 この Express.js 環境では、エラーを処理し、適切な応答メッセージをユーザーに提供する方法がいくつかあります。 これを達成する方法についてのガイドは次のとおりです。

Middleware グローバルエラー処理に 使用する

アプリケーションのメイン ファイル middleware の最後に次のコードを追加して、 グローバル エラー処理を作成します 。 app.js Express.js

app.use((err, req, res, next) => {  
  console.error(err.stack);  
  res.status(500).send('Something went wrong!');  
});  

特定のエラーの処理 Route

特定の では route、 try- catch ブロックを使用してエラーをキャッチし、適切な応答メッセージを提供できます。

app.get('/profile/:id', async(req, res) => {  
  try {  
    const user = await getUserById(req.params.id);  
    res.json(user);  
  } catch(error) {  
    res.status(404).send('User not found!');  
  }  
});  

集中エラーの使用 Middleware

middleware さまざまな .ini に起因するエラーを処理する 集中エラーを作成します route。

app.use((req, res, next) => {  
  const error = new Error('Not found');  
  error.status = 404;  
  next(error);  
});  
  
app.use((err, req, res, next) => {  
  res.status(err.status || 500);  
  res.send(err.message || 'Something went wrong');  
});  

非同期エラーの処理

非同期処理の場合は、 next メソッドを使用してエラーをグローバル エラー処理に渡します middleware。

app.get('/data',(req, res, next) => {  
  fetchDataFromDatabase((err, data) => {  
    if(err) {  
      return next(err);  
    }  
    res.json(data);  
  });  
});  

 

結論

エラー処理はアプリケーション開発に不可欠な部分です Express.js。 を利用し middleware 、特定のエラーを処理し、適切な応答メッセージを提供することで、ユーザーにとってスムーズで信頼性の高いアプリケーション エクスペリエンスを作成できます。