📄 exceptions.hpp
字号:
// ----------------------------------------------------------------------------// boost/format/exceptions.hpp // ----------------------------------------------------------------------------// Copyright Samuel Krempp 2003. Use, modification, and distribution are// subject to the Boost Software License, Version 1.0. (See accompanying// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)// See http://www.boost.org/libs/format for library home page// ----------------------------------------------------------------------------#ifndef BOOST_FORMAT_EXCEPTIONS_HPP#define BOOST_FORMAT_EXCEPTIONS_HPP#include <stdexcept>namespace boost { namespace io {// **** exceptions ----------------------------------------------- class format_error : public std::exception { public: format_error() {} virtual const char *what() const throw() { return "boost::format_error: " "format generic failure"; } }; class bad_format_string : public format_error { std::size_t pos_, next_; public: bad_format_string(std::size_t pos, std::size_t size) : pos_(pos), next_(size) {} std::size_t get_pos() const { return pos_; } std::size_t get_next() const { return next_; } virtual const char *what() const throw() { return "boost::bad_format_string: format-string is ill-formed"; } }; class too_few_args : public format_error { std::size_t cur_, expected_; public: too_few_args(std::size_t cur, std::size_t expected) : cur_(cur), expected_(expected) {} std::size_t get_cur() const { return cur_; } std::size_t get_expected() const { return expected_; } virtual const char *what() const throw() { return "boost::too_few_args: " "format-string refered to more arguments than were passed"; } }; class too_many_args : public format_error { std::size_t cur_, expected_; public: too_many_args(std::size_t cur, std::size_t expected) : cur_(cur), expected_(expected) {} std::size_t get_cur() const { return cur_; } std::size_t get_expected() const { return expected_; } virtual const char *what() const throw() { return "boost::too_many_args: " "format-string refered to less arguments than were passed"; } }; class out_of_range : public format_error { int index_, beg_, end_; // range is [ beg, end [ public: out_of_range(int index, int beg, int end) : index_(index), beg_(beg), end_(end) {} int get_index() const { return index_; } int get_beg() const { return beg_; } int get_end() const { return end_; } virtual const char *what() const throw() { return "boost::out_of_range: " "tried to refer to an argument (or item) number which" " is out of range, according to the format string."; } }; } // namespace io} // namespace boost#endif // BOOST_FORMAT_EXCEPTIONS_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -