1 #ifndef MSP_DATAFILE_EXCEPT_H_
2 #define MSP_DATAFILE_EXCEPT_H_
7 #include "mspdatafile_api.h"
12 class MSPDATAFILE_API data_error: public std::runtime_error
19 data_error(const std::string &, unsigned, const std::string &);
20 data_error(const std::string &, unsigned, const std::exception &);
21 data_error(const std::string &, unsigned, const data_error &);
22 ~data_error() throw() override = default;
24 const std::string &get_source() const { return source; }
25 unsigned get_line() const { return line; }
28 std::string make_what(const std::string &, unsigned, const std::string &);
32 class MSPDATAFILE_API parse_error: public std::runtime_error
35 parse_error(const std::string &);
36 ~parse_error() throw() override = default;
40 class MSPDATAFILE_API syntax_error: public std::runtime_error
43 syntax_error(const std::string &t);
44 ~syntax_error() throw() override = default;
48 class MSPDATAFILE_API bad_definition: public std::runtime_error
51 bad_definition(const std::string &w);
52 ~bad_definition() throw() override = default;
56 class MSPDATAFILE_API nesting_error: public std::logic_error
59 nesting_error(const std::string &);
60 ~nesting_error() throw() override = default;
64 class MSPDATAFILE_API unknown_keyword: public std::runtime_error
67 unknown_keyword(const std::string &);
68 ~unknown_keyword() throw() override = default;
72 class MSPDATAFILE_API invalid_signature: public std::runtime_error
75 invalid_signature(const std::string &, const std::string &);
76 ~invalid_signature() throw() override = default;
80 class MSPDATAFILE_API no_collection: public std::runtime_error
83 no_collection(const std::type_info &);
86 } // namespace DataFile