【发布时间】:2019-05-01 11:30:42
【问题描述】:
我正在编写单元测试并试图覆盖我的所有代码。
我的代码中有这样的内容:
template<typename ValueType>
std::string ConvertToStringUsingBoost(ValueType const& v)
{
try
{
return boost::lexical_cast<std::string, ValueType>(v);
}
catch(boost::bad_lexical_cast const& e)
{
LOG_ERR("Fail to cast %s to string", e.source_type().name);
return std::string();
}
}
我正在阅读these docs,但找不到任何有关boost::lexical_cast 到std::string 何时可以引发异常的信息。
你能帮帮我吗?
如果不可能,我会简单地删除这个 try-catch。如果可能的话,我更愿意在单元测试中介绍这一点。
【问题讨论】:
-
你可能可以使用
boost::conversion::try_lexical_convert函数来避免抛出bad_lexical_cast异常。
标签: c++ boost lexical-cast