summaryrefslogtreecommitdiff
path: root/src/error.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/error.h')
-rw-r--r--src/error.h151
1 files changed, 0 insertions, 151 deletions
diff --git a/src/error.h b/src/error.h
deleted file mode 100644
index 5cbf54fb..00000000
--- a/src/error.h
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef _ERROR_H
-#define _ERROR_H
-
-#import "context.h"
-
-namespace ledger {
-
-class exception : public std::exception
-{
-protected:
- string reason;
-
-public:
- std::list<context> context_stack;
-
- exception(const string& _reason,
- const context& immediate_ctxt) throw()
- : reason(_reason) {
- EXCEPTION(reason);
- push(immediate_ctxt);
- }
-
- virtual ~exception() throw() {}
-
- void push(const context& intermediate_ctxt) throw() {
- context_stack.push_front(intermediate_ctxt);
- }
-
- void write(std::ostream& out) const throw() {
-#if 0
- for (std::list<context>::const_iterator
- i = context_stack.begin();
- i != context_stack.end();
- i++)
- (*i).write(out);
-#endif
- }
-
- const char * what() const throw() {
- return reason.c_str();
- }
-};
-
-#define DECLARE_EXCEPTION(name) \
- class name : public exception { \
- public: \
- name(const string& _reason, \
- const context& immediate_ctxt) throw() \
- : exception(_reason, immediate_ctxt) {} \
- }
-
-#if 0
-
-class error_context
-{
- public:
- string desc;
-
- error_context(const string& _desc) throw() : desc(_desc) {}
- virtual ~error_context() throw() {}
- virtual void describe(std::ostream& out) const throw() {
- if (! desc.empty())
- out << desc << std::endl;
- }
-};
-
-class file_context : public error_context
-{
- protected:
- string file;
- unsigned long line;
- public:
- file_context(const string& _file, unsigned long _line,
- const string& _desc = "") throw()
- : error_context(_desc), file(_file), line(_line) {}
- virtual ~file_context() throw() {}
-
- virtual void describe(std::ostream& out) const throw() {
- if (! desc.empty())
- out << desc << " ";
-
- out << "\"" << file << "\", line " << line << ": ";
- }
-};
-
-class line_context : public error_context {
- public:
- string line;
- long pos;
-
- line_context(const string& _line, long _pos,
- const string& _desc = "") throw()
- : error_context(_desc), line(_line), pos(_pos) {}
- virtual ~line_context() throw() {}
-
- virtual void describe(std::ostream& out) const throw() {
- if (! desc.empty())
- out << desc << std::endl;
-
- out << " " << line << std::endl << " ";
- long idx = pos < 0 ? line.length() - 1 : pos;
- for (int i = 0; i < idx; i++)
- out << " ";
- out << "^" << std::endl;
- }
-};
-
-class error : public str_exception {
- public:
- error(const string& _reason, error_context * _ctxt = NULL) throw()
- : str_exception(_reason, _ctxt) {}
- virtual ~error() throw() {}
-};
-
-class fatal : public str_exception {
- public:
- fatal(const string& _reason, error_context * _ctxt = NULL) throw()
- : str_exception(_reason, _ctxt) {}
- virtual ~fatal() throw() {}
-};
-
-class fatal_assert : public fatal {
- public:
- fatal_assert(const string& _reason, error_context * _ctxt = NULL) throw()
- : fatal(string("assertion failed '") + _reason + "'", _ctxt) {}
- virtual ~fatal_assert() throw() {}
-};
-
-#endif // 0
-
-inline void unexpected(char c, char wanted)
-{
-#if 0
- if ((unsigned char) c == 0xff) {
- if (wanted)
- throw new error(string("Missing '") + wanted + "'");
- else
- throw new error("Unexpected end of input");
- } else {
- if (wanted)
- throw new error(string("Invalid char '") + c +
- "' (wanted '" + wanted + "')");
- else
- throw new error(string("Invalid char '") + c + "'");
- }
-#endif
-}
-
-} // namespace ledger
-
-#endif // _ERROR_H