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