| 174 | |
| 175 | public: |
| 176 | static void catchException(IStatus* status) |
| 177 | { |
| 178 | if (!status) |
| 179 | return; |
| 180 | |
| 181 | try |
| 182 | { |
| 183 | throw; |
| 184 | } |
| 185 | catch (const FbException& e) |
| 186 | { |
| 187 | status->setErrors(e.getStatus()->getErrors()); |
| 188 | } |
| 189 | catch (...) |
| 190 | { |
| 191 | ISC_STATUS statusVector[] = { |
| 192 | isc_arg_gds, isc_random, |
| 193 | isc_arg_string, (ISC_STATUS) "Unrecognized C++ exception", |
| 194 | isc_arg_end}; |
| 195 | status->setErrors(statusVector); |
| 196 | } |
| 197 | } |
| 198 | |
| 199 | static void clearException(BaseStatusWrapper* status) |
| 200 | { |