You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
#ifndef INC_ANTLRException_h__
|
|
#define INC_ANTLRException_h__
|
|
|
|
/* ANTLR Translator Generator
|
|
* Project led by Terence Parr at http://www.jGuru.com
|
|
* Software rights: http://www.antlr.org/license.html
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#include <antlr/config.h>
|
|
#include <string>
|
|
|
|
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
|
|
namespace antlr {
|
|
#endif
|
|
|
|
class ANTLR_API ANTLRException
|
|
{
|
|
public:
|
|
/// Create ANTLR base exception without error message
|
|
ANTLRException() : text("")
|
|
{
|
|
}
|
|
/// Create ANTLR base exception with error message
|
|
ANTLRException(const ANTLR_USE_NAMESPACE(std)string& s)
|
|
: text(s)
|
|
{
|
|
}
|
|
virtual ~ANTLRException() throw()
|
|
{
|
|
}
|
|
|
|
/** Return complete error message with line/column number info (if present)
|
|
* @note for your own exceptions override this one. Call getMessage from
|
|
* here to get the 'clean' error message stored in the text attribute.
|
|
*/
|
|
virtual ANTLR_USE_NAMESPACE(std)string toString() const
|
|
{
|
|
return text;
|
|
}
|
|
|
|
/** Return error message without additional info (if present)
|
|
* @note when making your own exceptions classes override toString
|
|
* and call in toString getMessage which relays the text attribute
|
|
* from here.
|
|
*/
|
|
virtual ANTLR_USE_NAMESPACE(std)string getMessage() const
|
|
{
|
|
return text;
|
|
}
|
|
private:
|
|
ANTLR_USE_NAMESPACE(std)string text;
|
|
};
|
|
#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
|
|
}
|
|
#endif
|
|
|
|
#endif //INC_ANTLRException_h__
|