diff --git a/src/client/clientGet.cpp b/src/client/clientGet.cpp index 6314db0..d72e794 100644 --- a/src/client/clientGet.cpp +++ b/src/client/clientGet.cpp @@ -50,7 +50,11 @@ struct Getter : public pvac::detail::CallbackStorage, pvac::ClientChannel::GetCallback *C=cb; cb = 0; CallbackUse U(G); - C->getDone(event); + try { + C->getDone(event); + } catch(std::exception& e) { + LOG(pva::logLevelInfo, "Lost exception during getDone(): %s", e.what()); + } } virtual std::string name() const OVERRIDE FINAL diff --git a/src/client/clientPut.cpp b/src/client/clientPut.cpp index 1468c21..86130aa 100644 --- a/src/client/clientPut.cpp +++ b/src/client/clientPut.cpp @@ -54,7 +54,11 @@ struct Putter : public pvac::detail::CallbackStorage, pvac::ClientChannel::PutCallback *C=cb; cb = 0; CallbackUse U(G); - C->putDone(event); + try { + C->putDone(event); + } catch(std::exception& e) { + LOG(pva::logLevelInfo, "Lost exception during putDone(): %s", e.what()); + } } virtual std::string name() const OVERRIDE FINAL