Tag Parser 12.4.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Loading...
Searching...
No Matches
exceptions.h
Go to the documentation of this file.
1#ifndef TAG_PARSER_EXCEPTIONS_H
2#define TAG_PARSER_EXCEPTIONS_H
3
4#include "./global.h"
5
6#include <stdexcept>
7#include <string>
8
9namespace TagParser {
10
11class TAG_PARSER_EXPORT Failure : public std::exception {
12public:
13 Failure() noexcept;
14 virtual ~Failure() noexcept;
15 virtual const char *what() const noexcept;
16};
17
18class TAG_PARSER_EXPORT NoDataFoundException : public Failure {
19public:
20 NoDataFoundException() noexcept;
21 virtual ~NoDataFoundException() noexcept;
22 virtual const char *what() const noexcept;
23};
24
25class TAG_PARSER_EXPORT InvalidDataException : public Failure {
26public:
27 InvalidDataException() noexcept;
28 virtual ~InvalidDataException() noexcept;
29 virtual const char *what() const noexcept;
30};
31
32class TAG_PARSER_EXPORT NoDataProvidedException : public Failure {
33public:
34 NoDataProvidedException() noexcept;
35 virtual ~NoDataProvidedException() noexcept;
36 virtual const char *what() const noexcept;
37};
38
39class TAG_PARSER_EXPORT TruncatedDataException : public InvalidDataException {
40public:
41 TruncatedDataException() noexcept;
42 virtual ~TruncatedDataException() noexcept;
43 virtual const char *what() const noexcept;
44};
45
46class TAG_PARSER_EXPORT OperationAbortedException : public Failure {
47public:
48 OperationAbortedException() noexcept;
49 virtual ~OperationAbortedException() noexcept;
50 virtual const char *what() const noexcept;
51};
52
53class TAG_PARSER_EXPORT VersionNotSupportedException : public Failure {
54public:
55 VersionNotSupportedException() noexcept;
56 virtual ~VersionNotSupportedException() noexcept;
57 virtual const char *what() const noexcept;
58};
59
60class TAG_PARSER_EXPORT NotImplementedException : public Failure {
61public:
62 NotImplementedException() noexcept;
63 virtual ~NotImplementedException() noexcept;
64 virtual const char *what() const noexcept;
65};
66
70#define CHECK_MAX_SIZE(sizeDenotation) \
71 if (maxSize < sizeDenotation) { \
72 throw TruncatedDataException(); \
73 } else { \
74 maxSize -= sizeDenotation; \
75 }
76
77} // namespace TagParser
78
79#endif // TAG_PARSER_EXCEPTIONS_H
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Definition global.h:14
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10