CppReference 中 make_shared 的页面说(与 make_unique 相同)
可能会抛出 std::bad_alloc 或 T 类型构造函数抛出的任何异常。 如果抛出异常,该函数将不起作用。
这意味着在发生故障时可能会抛出 std::bad_alloc 异常。"函数将不起作用" 隐含地意味着它不能返回 nullptr。如果是这种情况,为什么人们不经常将 make_shared/make_unique 放到 try catch 块中?
那么,使用 make_shared 的正确方式是什么? 在 try catch 块内吗?还是检查是否为 nullptr?