重複の可能性:
コンストラクターからの例外のスロー
オブジェクトを初期化するとき-オブジェクトが後でそのすべての責任を果たすことを妨げる問題を処理する正しい方法は何でしょうか。
たとえば、コンストラクターがリモート接続に使用される構成変数のセットを初期化するとします。すべての構成変数が適切に設定されているわけではないため、後でオブジェクトがその接続に使用されると、オブジェクトは機能せず、最終的に例外がスローされます。
これに対するいくつかの解決策を考えることができます
- コンストラクターはそこで例外をスローしてから
- オブジェクトは、構成設定を検証するためのメソッドを提供します(これは、そのオブジェクトのクライアントが、使用する前に有効な状態をチェックする追加のタスクを持っていることを意味します)
- そのままにして、例外がスローされるようにし、例外が発生した場合はクライアントに処理を任せます。
したがって、これらのオプションのどれが、提供されたシナリオで最良のアプローチと見なされるか、またはこれを処理するための代替のより良い方法がある場合、それは何でしょうか。