Promiseでコードを書いています。例外が発生した時の為にcatchを書いて、これで安心だと思っていたのですがcatch出来ないパターンがありました。
以下のキャッチ出来ないパターンで、例外をキャッチしてPromise.catchメソッドに処理を移すにはどうしたらよいでしょうか。
全体をtry{}catch{}で囲むのはできれば避けたいです。
これはcatch出来る。
await new Promise(() => { throw new Error("例外テスト"); }).catch(_ => { console.log("catch出来た") });
これがcatch出来ない。
await new Promise(() => { setTimeout(_=>{ throw new Error("例外テスト"); },1); }).catch(_ => { console.log("catch出来ない") });
サンプルではsetTimeoutの中でthrowしていますが、実際はnodejsのライブラリでコールバックを指定しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/16 13:53
2018/09/16 14:04