mizuko約1か月前 00Nest.jsにて非同期処理内でerrorをthrowするとfilterに引っ掛からないNest.js以下の様な意図的に非同期処理にしていた関数で、throwしたerrorはfilterに引っかからず、ecsなどのtaskが落ちてしまう。 Promiseチェーンの中でthrowされたエラーは、そのPromiseチェーンの中でのみ伝播するため、filterでcatchできないらしい。 this.hoge().then(async () => { const fuga = await this.hogeRepository().catch((error) => { throw new Error(error); }); return fuga; }); 非同期処理の場合は、そもそもthrowせずログを吐いて完了にする。 errorをcatchしたいなら、そもそもawaitをつけてtry catchで処理した方が良い。