derive bad_lexical_cast from std::exception