proper exception handling in DataCommunicator