6.興亜のエラー処理

1.興亜独自のエラー処理

  ctx.throw(状態コード)によって例外をスローすることでKOA、あなたはまた、エラーメッセージが欲しい持参することができます 

// ここでは、それ以外の場合はエラースローされ、IDの輸入が否定することはできない制限 
usersRouter.get( '/:ID'、(CTX)=> {
   IF(ctx.params.id * 1 <0 ){ 
    。CTXをスロー( 404、 'ユーザが小さすぎると、見つかりません' 
  } 
  ctx.body = DB [ctx.params.id * 1 ] 
})

  

 

           図自身のエラー処理結果1 KOA

  私たちは、エラー処理の情報も表示され、数字、返されたステータスコード404から見ることができます。しかし、これは私たちが望むものではない、規定のRESTfulなAPIで、我々はJSONフォーマットを使用して情報を返すようにしてみてください

  だから我々は、エラー処理コードは、後に実行される、実行順序の前面にミドルウェアを書くことができます

// 错误处理中间件 
app.use(非同期(CTX、次)=> {
   試みる{ 
    待つ次の()
  } キャッチ(エラー){ 
    ctx.status = error.status || error.statusCode 
    ctx.body = { 
      メッセージ: error.message 
    } 
  } 
})

 

 

   あなたはJSON形式のショーにエラーメッセージを見ることができます

 

2.エラーメッセージに対処するためのミドルウェアKOA-JSON-エラーを使用します

 1. 安装koa-json-error

  NPM I KOA-JSON-エラー--save

 2. 

CONST誤差=必要とする( 'KOA-JSONエラー' 
app.use(エラー())

 

 

               図2エラー情報処理KOA-JSON-errorr

    図から分かるように、結果KOA-JSONエラーは、JSON形式に戻され、情報が非常に完全です。しかし、我々は戻っ必要はありません生産段階で非常に長いstackフィールドは、そこにあります。だから、私たちのようにする必要があり

  本番環境でそれを隠します

おすすめ

転載: www.cnblogs.com/zhanghaoblog/p/11707422.html