0
ハンドリング()エラー、特にこのページ https://docs.strongloop.com/display/public/LB/Extend+your+API IDによってインスタンスを見つけ例コードが存在するを見つけるPersistedModel、私はそれを存在しないインスタンスを処理するためのビットを変更しループバック私はループバックフレームワークチュートリアルを以下だ
それはすべて私が、私は、無効なIDを入力すると、代わりにそれは完全に省略だerr
ハンドラを呼び出すのでは、しかし、既存のIDとそれを呼び出す
else
の文が呼び出されると、次のコンソールエラー
と全体のアプリがクラッシュしたときに正常に動作します
Coffeeshop.getName=function(id, cb)
{
Coffeeshop.findById(id, function(err, shop){
if(err)
{
console.log(err);
cb(err);
}
else
cb(null, 'Name of the coffee shop is '+shop.name);
});
};
/app/path/here/node_modules/mysql/lib/protocol/Parser.js:78
throw err; // Rethrow non-MySQL errors
私はnode.jsを使い慣れていますが、ここで何か不足していますが、トップレベルにスローされるのではなくコールバック関数にエラーが渡されるべきではないと思いますか?
これはmysqlバックエンド固有ではないようですが、mongoコネクタに切り替えて同様の問題が発生しました。このようなエラーを適切に処理する方法は?
ありがとうございました。私はmysqlの例外によって混乱していた、私はそれが私のコールバックに 'err'パラメータとして渡されると思った。このパラメータをいつ使用するのか分かりますか?このようなクエリエラーやsomehingがある場合は? –
サーバーが接続されていない場合は、このエラーが発生します。 'findById'についてはわかりませんが、' create'、検証のエラー、 'User.login'のようなメソッドではログイン失敗のエラーがこれを通して報告されます。 –