diff options
author | Mike Buland <eichlan@xagasoft.com> | 2007-10-22 23:24:07 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2007-10-22 23:24:07 +0000 |
commit | ae5ea621f06a645dbfcf454e9b8f39a99dc8e822 (patch) | |
tree | 5cc4f378dfec6e53fa44b60ab3759500c8efe311 /src | |
parent | c55551427b2e8170f91b7e097f8a0f87e3a06305 (diff) | |
download | libbu++-ae5ea621f06a645dbfcf454e9b8f39a99dc8e822.tar.gz libbu++-ae5ea621f06a645dbfcf454e9b8f39a99dc8e822.tar.bz2 libbu++-ae5ea621f06a645dbfcf454e9b8f39a99dc8e822.tar.xz libbu++-ae5ea621f06a645dbfcf454e9b8f39a99dc8e822.zip |
Made Exceptions copy well...I thought I'd already done this once...
Diffstat (limited to 'src')
-rw-r--r-- | src/exceptionbase.cpp | 7 | ||||
-rw-r--r-- | src/exceptionbase.h | 15 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/exceptionbase.cpp b/src/exceptionbase.cpp index f6ec625..73a7b0e 100644 --- a/src/exceptionbase.cpp +++ b/src/exceptionbase.cpp | |||
@@ -29,6 +29,13 @@ Bu::ExceptionBase::ExceptionBase( int nCode ) throw() : | |||
29 | { | 29 | { |
30 | } | 30 | } |
31 | 31 | ||
32 | Bu::ExceptionBase::ExceptionBase( const ExceptionBase &e ) throw () : | ||
33 | nErrorCode( e.nErrorCode ), | ||
34 | sWhat( NULL ) | ||
35 | { | ||
36 | setWhat( e.sWhat ); | ||
37 | } | ||
38 | |||
32 | Bu::ExceptionBase::~ExceptionBase() throw() | 39 | Bu::ExceptionBase::~ExceptionBase() throw() |
33 | { | 40 | { |
34 | if( sWhat ) | 41 | if( sWhat ) |
diff --git a/src/exceptionbase.h b/src/exceptionbase.h index f2543e4..63deb6b 100644 --- a/src/exceptionbase.h +++ b/src/exceptionbase.h | |||
@@ -42,6 +42,8 @@ namespace Bu | |||
42 | * @return | 42 | * @return |
43 | */ | 43 | */ |
44 | ExceptionBase( int nCode=0 ) throw(); | 44 | ExceptionBase( int nCode=0 ) throw(); |
45 | |||
46 | ExceptionBase( const ExceptionBase &e ) throw (); | ||
45 | 47 | ||
46 | /** | 48 | /** |
47 | * | 49 | * |
@@ -87,6 +89,7 @@ class name : public Bu::ExceptionBase \ | |||
87 | name( const char *sFormat, ... ) throw (); \ | 89 | name( const char *sFormat, ... ) throw (); \ |
88 | name( int nCode, const char *sFormat, ... ) throw(); \ | 90 | name( int nCode, const char *sFormat, ... ) throw(); \ |
89 | name( int nCode=0 ) throw (); \ | 91 | name( int nCode=0 ) throw (); \ |
92 | name( const name &e ) throw (); \ | ||
90 | }; | 93 | }; |
91 | 94 | ||
92 | #define subExceptionDeclChild( name, parent ) \ | 95 | #define subExceptionDeclChild( name, parent ) \ |
@@ -96,6 +99,7 @@ class name : public parent \ | |||
96 | name( const char *sFormat, ... ) throw (); \ | 99 | name( const char *sFormat, ... ) throw (); \ |
97 | name( int nCode, const char *sFormat, ... ) throw(); \ | 100 | name( int nCode, const char *sFormat, ... ) throw(); \ |
98 | name( int nCode=0 ) throw (); \ | 101 | name( int nCode=0 ) throw (); \ |
102 | name( const name &e ) throw (); \ | ||
99 | }; | 103 | }; |
100 | 104 | ||
101 | #define subExceptionDeclBegin( name ) \ | 105 | #define subExceptionDeclBegin( name ) \ |
@@ -104,7 +108,8 @@ class name : public Bu::ExceptionBase \ | |||
104 | public: \ | 108 | public: \ |
105 | name( const char *sFormat, ... ) throw (); \ | 109 | name( const char *sFormat, ... ) throw (); \ |
106 | name( int nCode, const char *sFormat, ... ) throw(); \ | 110 | name( int nCode, const char *sFormat, ... ) throw(); \ |
107 | name( int nCode=0 ) throw (); | 111 | name( int nCode=0 ) throw (); \ |
112 | name( const name &e ) throw (); | ||
108 | 113 | ||
109 | #define subExceptionDeclEnd() \ | 114 | #define subExceptionDeclEnd() \ |
110 | }; | 115 | }; |
@@ -129,6 +134,10 @@ name::name( int nCode, const char *lpFormat, ... ) throw() : \ | |||
129 | name::name( int nCode ) throw() : \ | 134 | name::name( int nCode ) throw() : \ |
130 | ExceptionBase( nCode ) \ | 135 | ExceptionBase( nCode ) \ |
131 | { \ | 136 | { \ |
137 | } \ | ||
138 | name::name( const name &e ) throw() : \ | ||
139 | ExceptionBase( e ) \ | ||
140 | { \ | ||
132 | } | 141 | } |
133 | 142 | ||
134 | #define subExceptionDefChild( name, parent ) \ | 143 | #define subExceptionDefChild( name, parent ) \ |
@@ -151,6 +160,10 @@ name::name( int nCode, const char *lpFormat, ... ) throw() : \ | |||
151 | name::name( int nCode ) throw() : \ | 160 | name::name( int nCode ) throw() : \ |
152 | parent( nCode ) \ | 161 | parent( nCode ) \ |
153 | { \ | 162 | { \ |
163 | } \ | ||
164 | name::name( const name &e ) throw() : \ | ||
165 | ExceptionBase( e ) \ | ||
166 | { \ | ||
154 | } | 167 | } |
155 | 168 | ||
156 | #endif | 169 | #endif |