Тред по мотивам std::string length возвращает 16777215. Если для Ъ там после операции pop_back для пустой строки возвращалось в вызове length все, что угодно. Соответственно, вопрос: допустимо ли такое вообще? Исключения можно отловить, коды ошибок - обработать, а тут что? Надеяться на статический анализатор? Обкладывать каждую строку кода тестами на не знаю что? Поминутно открывать талмуды стандарта и искать описание похожего примера? Когда вызов библиотечной, даже не встроенной функции, стал привязываться к стандарту языка и им оправдываться? И когда разработчики научатся обрабатывать граничные ситуации так, чтобы написанный ими код не сходил с ума у клиентов?
Ваши мнения по поводу практики при обработке ошибок ссылаться на неопределенное поведение.