Node.js / expressでエラーを処理する方法

JoeBoggs

エラーをスローするのではなく、キャッチしようとしています。私はtry / catchを試みましたが、それがうまくいかなかったことに気づきました。2つのエラーはmongodbに関連していますが、node / expressエラーはまだスローされていると思います。

app.get( "/test/:lastName", function ( reqt, resp ) {
  var driverName = reqt.params.lastName
  mongoClient.connect( "mongodb://localhost/enteprise",
  function( err, db ) {
  if ( err ) {
    console.error("1 mess " + err)
  }
  var database = db.db( "enteprise" )
  var collection = database.collection( "driversCol" )

  collection.findOne( { lastName : driverName },

  function( err, res ) {
    if ( err ) {
        console.error("2 mess " + err)
    }
    resp.json( res.rate )
    db.close()
    })
  })
})

ケース

もし私がcurl -X GET localhost:3000/test/Owenそれなら「43」はそのレートとして返されるべきです。

現在、iの場合curl -X GET localhost:3000/test/Cressey、データベースにないため、タイプエラーがスローされます。

上記のコードと例でエラーをキャッチするにはどうすればよいですか?

アントニオヴァル

まず、next()コールバックで発生したエラーを返送するために使用する必要があると思います

app.get( "/test/:lastName", function ( req, resp, next ) {
  // some code...
    if ( err ) {
      return next("1 mess " + err)
    }

TypeErrorについては、undefined結果がないときにMongoDBから取得しているために発生していますが、これはエラーではないため、には入りませんifこのような場合は、次のようにオブジェクトの存在を確認する必要があります。

resp.json( res && res.rate || {} )

ここで、あなたはこれらの場合にエラーを処理する方法についての別の例を持っています:

app.param('user', function(req, res, next, id) {

  // try to get the user details from the User model and attach it to the request object
  User.find(id, function(err, user) {
    if (err) {
      next(err);
    } else if (user) {
      req.user = user;
      next();
    } else {
      next(new Error('failed to load user'));
    }
  });
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Node.jsで非同期エラーを処理する方法

分類Dev

node.jsリクエストでURIエラーを処理する方法は?

分類Dev

node.js / expressで<select>フォームパラメータを処理する

分類Dev

Node.jsで、async / awaitを使用してエラーを処理する正しい方法は何ですか?

分類Dev

node.jsでresヘッダーを2回設定せずにエラーを処理する方法

分類Dev

node.jsキャストエラーを処理する方法は?

分類Dev

Node.jsアプリでマングースのエラーを処理する方法

分類Dev

Express.JS:Busboyでエラーを処理する方法は?

分類Dev

Node.jsでPOSTデータを処理する方法は?

分類Dev

Node.js Express API:複数のコールバックを処理する方法

分類Dev

node.jsにログインするエラーと例外を処理する

分類Dev

Node.jsで例外を処理し、エラー出力をHTMLに送信します

分類Dev

特にTryCatchの場合のExpress / Node.jsでの503エラーの処理

分類Dev

Node.jsを既存のPostgresに接続する方法は?エラー:未処理のPromise拒否

分類Dev

1ページのWebアプリでnode.jsで「投稿」リクエストを処理する方法

分類Dev

node.jsでの初期化|| node.jsで初期構成を処理する方法

分類Dev

node.jsのループ内でクエリを処理する

分類Dev

API呼び出し全体でnode.jsのグローバルエラー処理コードを使用する方法

分類Dev

Express node.js-JSONをリクエストし、非同期で処理します

分類Dev

node.jsサーバーで大量の負荷を処理する方法は?

分類Dev

node.jsですべての例外を処理する方法

分類Dev

テンプレートが存在する場合にgetリクエストを自動的に処理する方法(node.js + expressを使用)

分類Dev

node.jsでクライアント側のルーティングを処理する方法は?

分類Dev

Node.jsで循環依存を処理する方法

分類Dev

Node.jsでJSON配列を反復処理する方法は?

分類Dev

Node.jsで非同期関数を処理する方法

分類Dev

Node.jsで非同期関数を処理する方法

分類Dev

Node jsでこれを処理する方法

分類Dev

Express / Node.jsとAngularでキャンセルされたリクエストを処理する

Related 関連記事

  1. 1

    Node.jsで非同期エラーを処理する方法

  2. 2

    node.jsリクエストでURIエラーを処理する方法は?

  3. 3

    node.js / expressで<select>フォームパラメータを処理する

  4. 4

    Node.jsで、async / awaitを使用してエラーを処理する正しい方法は何ですか?

  5. 5

    node.jsでresヘッダーを2回設定せずにエラーを処理する方法

  6. 6

    node.jsキャストエラーを処理する方法は?

  7. 7

    Node.jsアプリでマングースのエラーを処理する方法

  8. 8

    Express.JS:Busboyでエラーを処理する方法は?

  9. 9

    Node.jsでPOSTデータを処理する方法は?

  10. 10

    Node.js Express API:複数のコールバックを処理する方法

  11. 11

    node.jsにログインするエラーと例外を処理する

  12. 12

    Node.jsで例外を処理し、エラー出力をHTMLに送信します

  13. 13

    特にTryCatchの場合のExpress / Node.jsでの503エラーの処理

  14. 14

    Node.jsを既存のPostgresに接続する方法は?エラー:未処理のPromise拒否

  15. 15

    1ページのWebアプリでnode.jsで「投稿」リクエストを処理する方法

  16. 16

    node.jsでの初期化|| node.jsで初期構成を処理する方法

  17. 17

    node.jsのループ内でクエリを処理する

  18. 18

    API呼び出し全体でnode.jsのグローバルエラー処理コードを使用する方法

  19. 19

    Express node.js-JSONをリクエストし、非同期で処理します

  20. 20

    node.jsサーバーで大量の負荷を処理する方法は?

  21. 21

    node.jsですべての例外を処理する方法

  22. 22

    テンプレートが存在する場合にgetリクエストを自動的に処理する方法(node.js + expressを使用)

  23. 23

    node.jsでクライアント側のルーティングを処理する方法は?

  24. 24

    Node.jsで循環依存を処理する方法

  25. 25

    Node.jsでJSON配列を反復処理する方法は?

  26. 26

    Node.jsで非同期関数を処理する方法

  27. 27

    Node.jsで非同期関数を処理する方法

  28. 28

    Node jsでこれを処理する方法

  29. 29

    Express / Node.jsとAngularでキャンセルされたリクエストを処理する

ホットタグ

アーカイブ