int main(int argc, char** argv) { try{ throwIf(false); throwIf(true); } catch (const std::runtime_error& e) { std::cerr << "Caught exception:" << e.what() << std::endl; } }
void WalletLegacy::save(std::ostream& destination, bool saveDetailed, bool saveCache) { if(m_isStopping) { m_observerManager.notify(&IWalletLegacyObserver::saveCompleted, make_error_code(CryptoNote::error::OPERATION_CANCELLED)); return; } { std::unique_lock<std::mutex> lock(m_cacheMutex); throwIf(m_state != INITIALIZED, CryptoNote::error::WRONG_STATE); m_state = SAVING; } m_asyncContextCounter.addAsyncContext(); std::thread saver(&WalletLegacy::doSave, this, std::ref(destination), saveDetailed, saveCache); saver.detach(); }