File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -1192,9 +1192,15 @@ DBErrors WalletBatch::LoadWallet(CWallet* pwallet)
1192
1192
1193
1193
// Load decryption keys
1194
1194
result = std::max (LoadDecryptionKeys (pwallet, *m_batch), result);
1195
- } catch (... ) {
1195
+ } catch (std::runtime_error& e ) {
1196
1196
// Exceptions that can be ignored or treated as non-critical are handled by the individual loading functions.
1197
1197
// Any uncaught exceptions will be caught here and treated as critical.
1198
+ // Catch std::runtime_error specifically as many functions throw these and they at least have some message that
1199
+ // we can log
1200
+ pwallet->WalletLogPrintf (" %s\n " , e.what ());
1201
+ result = DBErrors::CORRUPT;
1202
+ } catch (...) {
1203
+ // All other exceptions are still problematic, but we can't log them
1198
1204
result = DBErrors::CORRUPT;
1199
1205
}
1200
1206
You can’t perform that action at this time.
0 commit comments