コードのインスタンスでわざとスローされたカスタムエラーをキャッチする一般的なエラーハンドラーを作成したいと思います。
throw new Error('sample')
次のコードで気に入ったとき
try {
throw new Error({'hehe':'haha'});
// throw new Error('hehe');
} catch(e) {
alert(e);
console.log(e);
}
ログがFirefoxに表示されError: [object Object]
、オブジェクトを解析できませんでした。
2番目throw
のログは次のように表示されます。Error: hehe
私がしたとき
try {
throw ({'hehe':'haha'});
} catch(e) {
alert(e);
console.log(e);
}
コンソールは次のように表示されました:Object { hehe="haha"}
エラープロパティにアクセスできました。
違いはなんですか?
コードに見られる違いはありますか?同様に文字列は文字列として渡され、オブジェクトはオブジェクトとして渡されますが、構文は異なりますか?
エラーオブジェクトのスローについては調べていません...文字列のスローのみを実行していました。
上記の2つの方法以外に方法はありますか?