3
例外-「何が起こった」対「何をすべきか」
例外を使用して、コードのコンシューマーが予期しない動作を便利な方法で処理できるようにします。通常、例外は「発生した」シナリオを中心に構築されます- FileNotFound(指定したファイルが見つかりませんでした)またはZeroDivisionError(1/0操作を実行できませんでした)。 消費者の予想される動作を指定する可能性がある場合はどうなりますか? たとえば、fetchHTTPリクエストを実行し、取得したデータを返すリソースがあるとします。そして、代わりのようなエラーServiceTemporaryUnavailableまたはRateLimitExceeded私達はちょうど引き上げるRetryableErrorそれだけで、要求を再試行する必要があり、特定の失敗を気にしないことを示唆している消費者を。そのため、基本的には呼び出し側にアクションを提案しています-「何をすべきか」。 消費者のすべてのユースケースを知っているわけではないため、これを頻繁に行うことはありません。しかし、それが発信者にとって最善のアクションコースを知っている特定のコンポーネントであると想像してください。
19
exceptions