【发布时间】:2018-11-22 13:44:51
【问题描述】:
我有一个关于用 C++ 编写可读且高效的代码的问题。
我正在使用一个构造函数创建一个用于 tcp 连接的类,该构造函数将服务器的 IP 和端口作为输入。如果例如 IP 错误,我想避免创建对象。
我的问题是:
是在失败的情况下抛出异常还是创建一个更好的 带有布尔值的包装类来检查内部对象是否是 正确创建并避免在失败时调用任何函数?
【问题讨论】:
-
The "standard" answer to your question。或者你可以使用工厂模式。
-
如果可以使用 c++17 则返回
std::optional<connection>的函数 -
您也可以关注wg21.link/p0323 以获得未来可能的选择。
标签: c++ code-readability