source: trunk/yao/share/antlr-2.7.7/lib/cpp/antlr/ANTLRException.hpp @ 1

Last change on this file since 1 was 1, checked in by lnalod, 15 years ago

Initial import of YAO sources

File size: 1.4 KB
Line 
1#ifndef INC_ANTLRException_hpp__
2#define INC_ANTLRException_hpp__
3
4/* ANTLR Translator Generator
5 * Project led by Terence Parr at http://www.jGuru.com
6 * Software rights: http://www.antlr.org/license.html
7 *
8 * $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/antlr/ANTLRException.hpp#2 $
9 */
10
11#include <antlr/config.hpp>
12#include <string>
13
14#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
15namespace antlr {
16#endif
17
18class ANTLR_API ANTLRException
19{
20public:
21        /// Create ANTLR base exception without error message
22        ANTLRException() : text("")
23        {
24        }
25        /// Create ANTLR base exception with error message
26        ANTLRException(const ANTLR_USE_NAMESPACE(std)string& s)
27        : text(s)
28        {
29        }
30        virtual ~ANTLRException() throw()
31        {
32        }
33
34        /** Return complete error message with line/column number info (if present)
35         * @note for your own exceptions override this one. Call getMessage from
36         * here to get the 'clean' error message stored in the text attribute.
37         */
38        virtual ANTLR_USE_NAMESPACE(std)string toString() const
39        {
40                return text;
41        }
42
43        /** Return error message without additional info (if present)
44         * @note when making your own exceptions classes override toString
45         * and call in toString getMessage which relays the text attribute
46         * from here.
47         */
48        virtual ANTLR_USE_NAMESPACE(std)string getMessage() const
49        {
50                return text;
51        }
52private:
53        ANTLR_USE_NAMESPACE(std)string text;
54};
55#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
56}
57#endif
58
59#endif //INC_ANTLRException_hpp__
Note: See TracBrowser for help on using the repository browser.