Line data Source code
1 : ///
2 : /// @file ar/exceptions.h
3 : /// @copyright (c) 2015 by Petr Zemek (s3rvac@gmail.com) and contributors
4 : /// @license MIT, see the @c LICENSE file for more details
5 : /// @brief Exceptions.
6 : ///
7 :
8 : #ifndef AR_EXCEPTIONS_H
9 : #define AR_EXCEPTIONS_H
10 :
11 : #include <stdexcept>
12 :
13 : namespace ar {
14 :
15 : ///
16 : /// Base class for exceptions thrown by the library.
17 : ///
18 18 : class Error: public std::runtime_error {
19 : public:
20 18 : using std::runtime_error::runtime_error;
21 : };
22 :
23 : ///
24 : /// Exception thrown when the archive is invalid.
25 : ///
26 14 : class InvalidArchiveError: public Error {
27 : public:
28 14 : using Error::Error;
29 : };
30 :
31 : ///
32 : /// Exception thrown when there is an I/O error.
33 : ///
34 3 : class IOError: public Error {
35 : public:
36 3 : using Error::Error;
37 : };
38 :
39 : } // namespace ar
40 :
41 : #endif
|