mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-06-18 22:32:26 -04:00
Do not let exceptions cross Qt signal dispatcher
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5252 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
0992dc9a5e
commit
129c3ccde0
@ -1,5 +1,7 @@
|
|||||||
#include "MessageClient.hpp"
|
#include "MessageClient.hpp"
|
||||||
|
|
||||||
|
#include <stdexcept>
|
||||||
|
|
||||||
#include <QUdpSocket>
|
#include <QUdpSocket>
|
||||||
#include <QHostInfo>
|
#include <QHostInfo>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
@ -82,6 +84,8 @@ void MessageClient::impl::pending_datagrams ()
|
|||||||
|
|
||||||
void MessageClient::impl::parse_message (QByteArray const& msg)
|
void MessageClient::impl::parse_message (QByteArray const& msg)
|
||||||
{
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
//
|
//
|
||||||
// message format is described in NetworkMessage.hpp
|
// message format is described in NetworkMessage.hpp
|
||||||
//
|
//
|
||||||
@ -124,6 +128,15 @@ void MessageClient::impl::parse_message (QByteArray const& msg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (std::exception const& e)
|
||||||
|
{
|
||||||
|
Q_EMIT self_->error (QString {"MessageClient exception: %1"}.arg (e.what ()));
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
Q_EMIT self_->error ("Unexpected exception in MessageClient");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageClient::impl::heartbeat ()
|
void MessageClient::impl::heartbeat ()
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include "MessageServer.hpp"
|
#include "MessageServer.hpp"
|
||||||
|
|
||||||
|
#include <stdexcept>
|
||||||
|
|
||||||
#include <QUdpSocket>
|
#include <QUdpSocket>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
@ -100,6 +102,8 @@ void MessageServer::impl::pending_datagrams ()
|
|||||||
|
|
||||||
void MessageServer::impl::parse_message (QHostAddress const& sender, port_type sender_port, QByteArray const& msg)
|
void MessageServer::impl::parse_message (QHostAddress const& sender, port_type sender_port, QByteArray const& msg)
|
||||||
{
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
//
|
//
|
||||||
// message format is described in NetworkMessage.hpp
|
// message format is described in NetworkMessage.hpp
|
||||||
//
|
//
|
||||||
@ -202,6 +206,15 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s
|
|||||||
// Ignore
|
// Ignore
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (std::exception const& e)
|
||||||
|
{
|
||||||
|
Q_EMIT self_->error (QString {"MessageServer exception: %1"}.arg (e.what ()));
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
Q_EMIT self_->error ("Unexpected exception in MessageServer");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageServer::impl::tick ()
|
void MessageServer::impl::tick ()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user