Можно ли игнорировать исключение boost::lexical_cast
при преобразовании int
в std::string
?
Lexical_cast int для строки
Ответ 1
Исключение, вызванное лексическим приведением при преобразовании int
в std::string
, не связано с преобразованием, а к ресурсу недоступно. Таким образом, вы можете игнорировать это так же, как игнорируете исключение bad_alloc
, вызванное оператором new.
Ответ 2
Как вы говорите, я не думаю, что приведение может привести к ошибкам для числовых типов для целей преобразования - он все равно может потерпеть неудачу, потому что строка не может быть выделена, конечно, но люди обычно не ломают эту ошибку, кроме как на самый высокий уровень их кода.
Ответ 3
Если вы проигнорируете исключение, оно будет распространять резервную копию стека вызовов до тех пор, пока оно не будет обнаружено в другом месте или оно не завершит программу, поскольку вы можете безопасно не перехватывать исключения, не беспокоясь о том, что вы продолжаете программу и выполняете небезопасные/неизвестные (до тех пор, пока "ошибка" командной строки является допустимым поведением ошибки или у вас есть другой способ справиться с неизвестными исключениями).
К сожалению, стеки стека исключений не так легко получить на С++, поэтому создание полезных сообщений об ошибках, когда исключения не локализованы локально, не всегда легко.