私はnodejsを中心に働いています(しかし、私は一般的にjavascriptにはまったく新しいですが)、もっと具体的にはexpressjsです。彼らは明示的にtryとcatchのパターンを使用することを提案しますが、他の人が試して真のエラーを最初にやってみることを勧めています。代わりに広く物事の良い方法と考えられている1は、エラーより先にキャッチパターンを試してみますか?
callback(err, data) {
try {
//do something
} catch(err) {
//handle the error
}
}
の
すなわち
callback(err, data) {
if (err) throw err;
//do something if no error was returned
}
? Javascriptは、何かをすることの "真の方法"になると非常にあいまいです。
あなたの第二の例では、本当に意味がありません。 'callback'が呼び出されるまでに、エラーは既に発生しているかどうか、' err'はエラー(もしあれば)、 'null'(そうでなければ)です。これは、ほとんどのNode API呼び出しの非同期性のためです。したがって、コールバックに関するこの標準規約があります。最初のargはエラー(ある場合)、2番目のデータ(存在する場合)です。 (APIが今日設計されている場合、約束を使用し、実際にはブリッジングライブラリがあります) –
V8でキャッチを最適化できません! –
あなたは何かを投げつけます。ここで 'err'が渡されています:エラーは既に起こっています。 –