Django channels AsyncComsumer не может поймать исключение custome Exception

Я создаю приложение для чата с Django-каналами. Я использую AsyncConsumer. В моем потребителе есть метод chatroom(), который пытается вызвать другой метод _can_access_room(). В _can_access_room() есть случай, когда он вызывает пользовательское исключение (наследуется от Exception). Но я не могу поймать пользовательское исключение в chatroom(). Журнал показывает, что оно возникло, но WebSocket отключается. Я установил точку останова на строке, которая ловит исключение, но оно не останавливается. Но если я ловлю базовое исключение, оно работает. Пожалуйста, помогите, спасибо ^^

Вот мой код:

async def chatroom(self, data: dict):
    # check room in group or not?
    if group_from_room_id(data.get('room_id')) in self.groups:
        await self.chatroom_send(data)
    else:
        try:
            a = await self._can_access_room(data)
        except CustomException as e:
            print('ahihi')
@database_sync_to_async
    def _can_access_room(self, room_data: dict):
        room_id = room_data.get('room_id')
        chat_room: ChatRoom = ChatRoom.objects.filter(id=room_id).first()
        if not chat_room:
            raise custom_exceptions.RoomDoesNotExist

Вот журнал:

...
, line 455, in thread_handler
    return func(*args, **kwargs)
  File "***********/consumers/chat_room_consumer.py", line 153, in _can_access_room
    raise custom_exceptions.RoomDoesNotExist
common.custom_exceptions.RoomDoesNotExist
WebSocket DISCONNECT /ws/chat/winners [127.0.0.1:49452]
Вернуться на верх