#ifndef COMPILER_EXCEPTION_H_INCLUDED #define COMPILER_EXCEPTION_H_INCLUDED #include namespace Compiler { /// \brief Exception: Error while parsing the source class SourceException : public std::exception { public: const char* what() const noexcept override { return "Compile error"; } ///< Return error message }; /// \brief Exception: File error class FileException : public SourceException { public: const char* what() const noexcept override { return "Can't read file"; } ///< Return error message }; /// \brief Exception: EOF condition encountered class EOFException : public SourceException { public: const char* what() const noexcept override { return "End of file"; } ///< Return error message }; } #endif