From c13dbeb05173fd4b98395c627b328ded22c1aaf3 Mon Sep 17 00:00:00 2001 From: sta Date: Fri, 18 Nov 2016 15:57:52 +0900 Subject: [PATCH] [Modify] Throw exceptions --- websocket-sharp/WebSocket.cs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index ac699ed8..346f8e97 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -2722,17 +2722,19 @@ namespace WebSocketSharp /// public void Send (string data) { - var msg = _readyState.CheckIfAvailable (false, true, false, false) ?? - CheckSendParameter (data); - - if (msg != null) { - _logger.Error (msg); - error ("An error has occurred in sending data.", null); - - return; + if (_readyState != WebSocketState.Open) { + var msg = "The current state of the connection is not Open."; + throw new InvalidOperationException (msg); } - send (Opcode.Text, new MemoryStream (data.UTF8Encode ())); + if (data == null) + throw new ArgumentNullException ("data"); + + byte[] bytes; + if (!data.TryGetUTF8EncodedBytes (out bytes)) + throw new ArgumentException ("Cannot be UTF8 encoded.", "data"); + + send (Opcode.Text, new MemoryStream (bytes)); } ///