00001
00002 #ifndef __MIX_PARSINGEXCEPTION_H_
00003 #define __MIX_PARSINGEXCEPTION_H_
00004
00005 #include <exception>
00006 #include "misc.h"
00007
00008 namespace MiX{
00009 class ParsingException : public std::exception{
00010 long index_;
00011 ErrorType type_;
00012 std::string data_;
00013 public:
00015 ParsingException(long index,ErrorType type,const std::string& data) : index_(index),type_(type),data_(data){ };
00017 virtual ~ParsingException() throw(){ };
00019 const char* what()const throw(){ return data_.c_str(); };
00021 long getIndex()const{ return index_; };
00023 ErrorType getType()const{
00024 return type_;
00025 };
00026 };
00027 }
00028
00029 #ifndef MIX_PARSINGEXCEPTION_CPP_
00030 #include "ParsingException.cpp"
00031 #endif
00032
00033 #endif