C++ 异常 - 每个库一个或自定义一个

标签 c++ exception

我正在尝试找出执行此操作的正确方法。假设您正在创建一个名为 Foo 的新 C++ 库。对于库中的所有错误,您应该只有一个异常 (FooException) 还是人们实际上有自定义的异常:FooLoginFailedException、FooServerDownException、FooSomethingException ...

谢谢!

最佳答案

您应该为特定的失败设置特定的异常,但它们都应该从您的库的单一基本异常类型派生。这样,您的库的用户就可以选择是对特定类型的故障进行专门处理,还是对您的库中的所有故障一视同仁。例如:

class FooException : public std::exception { ... }
class FooLoginFailedException : public FooException { ... }
// ... etc ...

关于C++ 异常 - 每个库一个或自定义一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957162/

相关文章:

c++ - 什么时候保证段错误?

c++ - 如何根据接口(interface)类型运行

java - 异常类的默认构造函数?

php - curl 错误 60 : ssl certification issue when attempting to use symfony

exception - 从中间件中的 Controller 捕获异常

java - Mockito 测试抛出异常的 void 方法。 Spring Boot,eclipse IDE

C++在GDI中画一条线,末尾有实心箭头

c++ - (C++入门第5版)练习1.20中的一个问题

c++ - 如何将 "pointer to const TCHAR"转换为 "std::string"?

java - 避免在每一行 try catch 的聪明方法