00001
00002
00003 #ifndef PFDESC_PFDESC_EXCEPTION_HPP
00004 #define PFDESC_PFDESC_EXCEPTION_HPP
00005
00006 #include "kernel/jafarException.hpp"
00007
00008 namespace jafar {
00009
00010 namespace pfdesc {
00011
00017 class PfdescException : public jafar::kernel::Exception {
00018
00019 public:
00020
00024 enum ExceptionId {
00025 BAD_IMAGE_FORMAT,
00026 NO_PATCH_AVAILABLE,
00027 };
00028
00038 PfdescException(ExceptionId id_,
00039 const std::string& message_,
00040 const std::string& file_, int line_) throw();
00041
00042 virtual ~PfdescException() throw();
00043
00044 ExceptionId getExceptionId() const throw();
00045
00046 protected:
00047
00048 ExceptionId id;
00049
00050 static std::string exceptionIdToString(ExceptionId id_) throw();
00051
00052 };
00053
00054 }
00055 }
00056
00057 #endif // PFDESC_PFDESC_EXCEPTION_HPP
00058