lexical_cast int to string

2019-04-04 08:07发布

Is it safe to ignore exception of boost::lexical_cast when converting int to std::string?

3条回答
对你真心纯属浪费
2楼-- · 2019-04-04 08:22

Exception raised by lexical cast when converting an int to std::string are not associated to the conversion, but to resource unavailable. So you can ignore this in the same way you ignore the exception bad_alloc raised by operator new.

查看更多
Juvenile、少年°
3楼-- · 2019-04-04 08:29

As you say, I don't believe the cast can fail for the numerical types for conversion reasons - it can still fail because the string cannot be allocated, of course, but people don't normally catch that error except at the highest level of their code.

查看更多
爱情/是我丢掉的垃圾
4楼-- · 2019-04-04 08:35

If you "ignore" an exception it will propagate back up the call stack until it is caught elsewhere, or it terminates the program, the point being you can safely not catch exceptions without worrying about you program continuing and doing unsafe/unknown things (as long as a "crash" to command prompt is acceptable error behaviour or you have some other way of dealing with unknown exceptions).

Unfortunately exception stack traces aren't so easy to get in C++, so creating useful error messages when exceptions aren't caught locally isn't always easy.

查看更多
登录 后发表回答