diff --git a/pytchat/core_async/livechat.py b/pytchat/core_async/livechat.py index b6f4f8e..2f61aae 100644 --- a/pytchat/core_async/livechat.py +++ b/pytchat/core_async/livechat.py @@ -109,7 +109,9 @@ class LiveChatAsync: self._topchat_only = topchat_only if not LiveChatAsync._setup_finished: LiveChatAsync._setup_finished = True - if exception_handler: + if exception_handler == None: + self._set_exception_handler(self._handle_exception) + else: self._set_exception_handler(exception_handler) if interruptable: signal.signal(signal.SIGINT, @@ -319,6 +321,11 @@ class LiveChatAsync: self._buffer.put_nowait({'chatdata':'','timeout':0}) logger.info(f'[{self.video_id}]finished.') + @classmethod + def _set_exception_handler(cls, handler): + loop = asyncio.get_event_loop() + loop.set_exception_handler(handler) + @classmethod async def shutdown(cls, event, sig = None, handler=None): logger.debug("shutdown...")