invoked by s3_import(), need to be exception safe
| 150 | |
| 151 | // invoked by s3_import(), need to be exception safe |
| 152 | bool reader_cleanup(GPReader** reader) { |
| 153 | bool result = true; |
| 154 | try { |
| 155 | if (*reader) { |
| 156 | (*reader)->close(); |
| 157 | delete *reader; |
| 158 | *reader = NULL; |
| 159 | } else { |
| 160 | result = false; |
| 161 | } |
| 162 | } catch (S3Exception& e) { |
| 163 | s3extErrorMessage = |
| 164 | "reader_cleanup caught a " + e.getType() + " exception: " + e.getFullMessage(); |
| 165 | S3ERROR("reader_cleanup caught %s: %s", e.getType().c_str(), s3extErrorMessage.c_str()); |
| 166 | result = false; |
| 167 | } catch (...) { |
| 168 | S3ERROR("Caught an unexpected exception."); |
| 169 | s3extErrorMessage = "Caught an unexpected exception."; |
| 170 | result = false; |
| 171 | } |
| 172 | |
| 173 | return result; |
| 174 | } |
no test coverage detected