Nest.jsにて非同期処理内でerrorをthrowするとfilterに引っ掛からない
Nest.js
フロントエンド
Knowledge
以下の様な意図的に非同期処理にしていた関数で、throwしたerrorはfilterに引っかからず、ecsなどのtaskが落ちてしまう。 Promiseチェーンの中でthrowされたエラーは、そのPromiseチェーンの中でのみ伝播するため、filterでcatchできないらしい。
非同期処理の場合は、そもそもthrowせずログを吐いて完了にする。 errorをcatchしたいなら、そもそもawaitをつけてtry catchで処理した方が良い。