Skip to content

Commit 36d05c4

Browse files
authored
Merge pull request #274 from byildiz/master
Give user an opportunity to handle exceptions occuring in websocket read_data
2 parents cc3ac1d + 328b938 commit 36d05c4

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

binance/websocket/binance_socket_manager.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,12 @@ def read_data(self):
7878
self.logger.error("Websocket connection timeout")
7979
else:
8080
self.logger.error("Websocket exception: {}".format(e))
81-
raise e
81+
self._handle_exception(e)
82+
break
8283
except Exception as e:
8384
self.logger.error("Exception in read_data: {}".format(e))
84-
raise e
85+
self._handle_exception(e)
86+
break
8587

8688
self._handle_data(op_code, frame, data)
8789
self._handle_heartbeat(op_code, frame)
@@ -112,13 +114,17 @@ def close(self):
112114
self.logger.warning("Websocket already closed")
113115
else:
114116
self.ws.send_close()
115-
return
116117

117118
def _callback(self, callback, *args):
118119
if callback:
119120
try:
120121
callback(self, *args)
121122
except Exception as e:
122123
self.logger.error("Error from callback {}: {}".format(callback, e))
123-
if self.on_error:
124-
self.on_error(self, e)
124+
self._handle_exception(e)
125+
126+
def _handle_exception(self, e):
127+
if self.on_error:
128+
self.on_error(self, e)
129+
else:
130+
raise e

0 commit comments

Comments
 (0)