boost::format, bad_format_string_bit
От: DarkEld3r  
Дата: 26.07.11 19:28
Оценка:
В документации есть пример, где показано как отключать эксепшены для формата.

boost::format my_fmt(const std::string & f_string)
{
    using namespace boost::io;
    boost::format fmter(f_string);
    //fmter.exceptions(all_error_bits ^ bad_format_string_bit);
    fmter.exceptions(no_error_bits);
    return fmter;
}

int main(int argc, _TCHAR* argv[])
{
    try
    {
        std::cout << my_fmt("%1%, %2%")  % 1;  // 1
        std::cout << my_fmt("%1%, %2")  % 1;   // 2
    }
    catch(const boost::exception &exc)
    {
        std::cout << "exception" << std::endl;
    }

    return 0;
}


Но почему-то в примере выше эксепшн в строчке 2 (boost::exception_detail::error_info_injector<boost::io::bad_format_string> >) всё равно получаю.
Что-то не так делаю или баг?
Re: boost::format, bad_format_string_bit
От: DarkEld3r  
Дата: 26.07.11 19:33
Оценка:
Вопрос снят, надо было как-то так:
boost::format my_fmt(const std::string & f_string)
{
    using namespace boost::io;
    boost::format fmter;
    fmter.exceptions(no_error_bits);
    fmter.parse(f_string);
    return fmter;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.