有没有下面的陷阱;
if (someCondition)
throw boost::shared_ptr<SomeException>( new SomeException( "foo!" ) );
...
catch( const boost::shared_ptr<SomeException>& expRef )
{
}
最佳答案
你应该避免通过指针抛出,而更喜欢 throwing by value和 catching by (const) reference .
使用智能指针是在使用指针时简化资源管理的一种方法,但如果您可以完全避免使用指针,这样做会更简单。只需抛出一个值即可。
关于c++ - 抛出一个 boost::shared_ptr< customException>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5222606/