00001 // Copyright (C) 2006 Alexis ROBERT 00002 00003 #ifndef __EXCEPTIONS_H__ 00004 #define __EXCEPTIONS_H__ 00005 00006 #include <string> 00007 00008 namespace freedaisy { 00009 namespace Exceptions { 00010 class BaseException { 00011 public: 00012 BaseException(std::string msg); 00013 BaseException(); 00014 std::string getMessage(); 00015 protected: 00016 std::string message; 00017 }; 00018 00020 class XMLException : public BaseException { 00021 public: 00022 XMLException(std::string msg) : BaseException(msg) {} 00023 }; 00024 00026 class PageNotFound : public BaseException { 00027 public: 00028 PageNotFound(std::string page): BaseException(page) {} 00029 }; 00030 } 00031 } 00032 00033 #endif