Branch data Line data Source code
1 : : /*
2 : : * exception.h - exception class definitions
3 : : *
4 : : * Copyright (C) 2004 Stefan Jahn <stefan@lkcc.org>
5 : : *
6 : : * This is free software; you can redistribute it and/or modify
7 : : * it under the terms of the GNU General Public License as published by
8 : : * the Free Software Foundation; either version 2, or (at your option)
9 : : * any later version.
10 : : *
11 : : * This software is distributed in the hope that it will be useful,
12 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : : * GNU General Public License for more details.
15 : : *
16 : : * You should have received a copy of the GNU General Public License
17 : : * along with this package; see the file COPYING. If not, write to
18 : : * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
19 : : * Boston, MA 02110-1301, USA.
20 : : *
21 : : * $Id$
22 : : *
23 : : */
24 : :
25 : : #ifndef __EXCEPTION_H__
26 : : #define __EXCEPTION_H__
27 : :
28 : : namespace qucs {
29 : :
30 : : /* Enumerate exception type identifiers. */
31 : : enum exception_type {
32 : : EXCEPTION_UNKNOWN = -1,
33 : : EXCEPTION_PIVOT,
34 : : EXCEPTION_NA_FAILED,
35 : : EXCEPTION_NO_CONVERGENCE,
36 : : EXCEPTION_ZERO_DIVISION,
37 : : EXCEPTION_WRONG_VOLTAGE,
38 : : EXCEPTION_SINGULAR,
39 : : EXCEPTION_MATH,
40 : : EXCEPTION_UNKNOWN_ETR_MODE,
41 : : };
42 : :
43 : : class exception
44 : : {
45 : : public:
46 : : exception ();
47 : : exception (int);
48 : : exception (const exception &);
49 : : ~exception ();
50 : 82 : int getCode (void) { return code; }
51 : : void setCode (int c) { code = c; }
52 : 0 : char * getText (void) { return txt; }
53 : : void setText (const char *, ...);
54 : 82 : exception * getNext (void) { return next; }
55 : 82 : void setNext (exception * e) { next = e; }
56 : 17 : void setData (int d) { data = d; }
57 : 17 : int getData (void) { return data; }
58 : :
59 : : private:
60 : : int code;
61 : : int data;
62 : : char * txt;
63 : : exception * next;
64 : : };
65 : :
66 : : } /* namespace qucs */
67 : :
68 : : #endif /* __EXCEPTION_H__ */
|