これを行う正しい方法は何かを理解しようとしています。Foo という名前の新しい C++ ライブラリを作成しているとします。ライブラリからのすべてのエラーに対して 1 つの例外 (FooException) だけを用意するか、実際に独自の例外を用意する必要がありますか: FooLoginFailedException、FooServerDownException、FooSomethingException...
ありがとう!
特定の障害には特定の例外が必要ですが、それらはすべて、ライブラリの単一の基本例外タイプから派生している必要があります。このようにして、ライブラリのユーザーは、特定のタイプの障害に特化した処理を行うか、ライブラリからのすべての障害を同じように処理するかを選択できます。例えば:
class FooException : public std::exception { ... }
class FooLoginFailedException : public FooException { ... }
// ... etc ...
これは、例外が伝える情報と、ユーザーが管理する必要がある詳細の量によって異なります。