Mercurial > hg > piper-cpp
diff vamp-client/qt/ProcessQtTransport.h @ 170:590b1a1fd955
More work on error and exception handling
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Tue, 31 Jan 2017 14:53:24 +0000 |
parents | 6ccb195d6de6 |
children | ce42f0bebae3 |
line wrap: on
line diff
--- a/vamp-client/qt/ProcessQtTransport.h Tue Jan 31 11:26:07 2017 +0000 +++ b/vamp-client/qt/ProcessQtTransport.h Tue Jan 31 14:53:24 2017 +0000 @@ -37,6 +37,7 @@ #define PIPER_PROCESS_QT_TRANSPORT_H #include "../SynchronousTransport.h" +#include "../Exceptions.h" #include <QProcess> #include <QString> @@ -181,12 +182,14 @@ if (responseStarted) { if (duringResponseTimeout > 0 && ms > duringResponseTimeout) { log("Server timed out during response"); - throw std::runtime_error("Request timed out"); + m_crashed = true; + throw RequestTimedOut(); } } else { if (beforeResponseTimeout > 0 && ms > beforeResponseTimeout) { log("Server timed out before response"); - throw std::runtime_error("Request timed out"); + m_crashed = true; + throw RequestTimedOut(); } } @@ -230,9 +233,7 @@ switch (m_completenessChecker->check(buffer)) { case MessageCompletenessChecker::Complete: complete = true; break; case MessageCompletenessChecker::Incomplete: break; - case MessageCompletenessChecker::Invalid: - throw std::runtime_error - ("Invalid message received: corrupt stream from server?"); + case MessageCompletenessChecker::Invalid: throw ProtocolError(); } (void)t.restart(); // reset timeout when we read anything }