17 #ifndef _DECAF_LANG_EXCEPTION_EXCEPTION_H_
18 #define _DECAF_LANG_EXCEPTION_EXCEPTION_H_
21 #pragma warning( disable: 4251 )
83 Exception(
const char* file,
const int lineNumber,
const char* msg, ...);
101 Exception(
const char* file,
const int lineNumber,
const std::exception* cause,
const char* msg, ...);
109 virtual std::
string getMessage()
const;
121 virtual const std::exception* getCause() const;
130 virtual
void initCause(const std::exception* cause);
137 virtual const
char* what() const throw ();
147 virtual
void setMessage(const
char* msg, ...);
157 virtual
void setMark(const
char* file, const
int lineNumber);
175 virtual std::vector< std::pair< std::
string,
int> > getStackTrace() const;
180 virtual
void printStackTrace() const;
188 virtual
void printStackTrace(std::ostream& stream) const;
195 virtual std::
string getStackTraceString() const;
207 virtual
void setStackTrace(const std::vector<std::pair<std::
string,
int> >& trace);
209 virtual
void buildMessage(const
char* format, va_list& vargs);