#pragma once #include class BaseException { public: const std::string message; BaseException(const std::string msg); }; class BaseListException : public BaseException { public: BaseListException(const std::string msg); }; class ValueError : public BaseListException { public: ValueError(const std::string msg); }; class IndexError : public BaseListException { public: IndexError(const std::string msg); }; class DuplicateError : public BaseListException { public: DuplicateError(const std::string msg); }; class BaseDisplayException : public BaseException { public: BaseDisplayException(const std::string msg); }; class PageIndexError : public BaseDisplayException { public: PageIndexError(const std::string msg); }; class FileIOError : public BaseException { public: FileIOError(const std::string msg); }; class FileReadError : public FileIOError { public: FileReadError(const std::string msg); }; class FileWriteError : public FileIOError { public: FileWriteError(const std::string msg); };