1

我试图弄清楚什么是正确的方法来做到这一点。假设您正在制作一个名为 Foo 的新 C++ 库。您是否应该对库中的所有错误(FooException)只有一个异常,或者人们实际上是否有自定义异常:FooLoginFailedException、FooServerDownException、FooSomethingException...

谢谢!

4

2 回答 2

3

对于特定的失败,您应该有特定的异常,但它们都应该从您的库的单一基本异常类型派生。这样,您库的用户可以选择是否对特定类型的故障进行专门处理,或者只是对您库中的所有故障进行相同的处理。例如:

class FooException : public std::exception { ... }
class FooLoginFailedException : public FooException { ... }
// ... etc ...
于 2012-12-19T19:25:50.307 回答
0

这取决于异常应该传达什么信息,以及期望用户管理多少细节。

于 2012-12-19T17:32:42.087 回答