ロギング以外に、例外処理を構成するものは何ですか? 処理できる例外のみをキャッチすると人々が言うように、私は尋ねます。
たとえば、Active Directory とやり取りするためのツールを作成しました。ドメインコントローラーで実行します。私は AD について詳しい知識を持っているので、別の例外的なケースを処理して (たとえば、別のドメイン名を要求するプロンプトを表示することができます)、そこから先に進みます。しかし、本番サーバーのドメインに重大な問題が発生した場合、これは例外的なことではないでしょうか?
したがって、この場合、環境の問題は例外的なはずですが (本番環境や AD などを考えると)、これは私が処理できるものです。例外の処理は、プログラムの視聴者に依存すると思います (同意します)?
とにかく、主な質問:例外を「処理」できるかどうかを推測するには、ログに記録してユーザーに別の選択肢を提示する以外に、どのようなハンドルが必要かを知る必要があります(その場合、ファイルが存在する場合などを使用して例外を回避します)。
上記のケース (AD) の場合、コードを次のように構成しました。
if (adIsAvailable)
// do whatever here
else
raise exception and ask for action
これは gui でキャッチされます
その設計の有効性について何か考えはありますか?