improved EchoServer error handling

This commit is contained in:
Guenter Obiltschnig
2016-10-07 22:02:57 +02:00
parent 835d0365d9
commit 92a0f0f0aa

View File

@@ -110,6 +110,8 @@ public:
} }
void onSocketReadable(const AutoPtr<ReadableNotification>& pNf) void onSocketReadable(const AutoPtr<ReadableNotification>& pNf)
{
try
{ {
int len = _socket.receiveBytes(_fifoIn); int len = _socket.receiveBytes(_fifoIn);
if (len > 0) if (len > 0)
@@ -121,11 +123,27 @@ public:
delete this; delete this;
} }
} }
catch (Poco::Exception& exc)
{
Application& app = Application::instance();
app.logger().log(exc);
delete this;
}
}
void onSocketWritable(const AutoPtr<WritableNotification>& pNf) void onSocketWritable(const AutoPtr<WritableNotification>& pNf)
{
try
{ {
_socket.sendBytes(_fifoOut); _socket.sendBytes(_fifoOut);
} }
catch (Poco::Exception& exc)
{
Application& app = Application::instance();
app.logger().log(exc);
delete this;
}
}
void onSocketShutdown(const AutoPtr<ShutdownNotification>& pNf) void onSocketShutdown(const AutoPtr<ShutdownNotification>& pNf)
{ {