我正在尝试找出执行此操作的正确方法。假设您正在创建一个名为 Foo 的新 C++ 库。对于库中的所有错误,您应该只有一个异常 (FooException) 还是人们实际上有自定义的异常:FooLoginFailedException、FooServerDownException、FooSomethingException ...
谢谢!
最佳答案
您应该为特定的失败设置特定的异常,但它们都应该从您的库的单一基本异常类型派生。这样,您的库的用户就可以选择是对特定类型的故障进行专门处理,还是对您的库中的所有故障一视同仁。例如:
class FooException : public std::exception { ... }
class FooLoginFailedException : public FooException { ... }
// ... etc ...
关于C++ 异常 - 每个库一个或自定义一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957162/