Почему при использовании try except все равно прерывается выполнение?
Здравствуйте! У меня есть бот вк и при долгом простое(если им никто не пользуется) появляется ошибка.
Я эту ошибку решил отлавливать чтобы бы бот не прекращал работу. Так вот после того как ошибка появляется, мне в консольке пишется ошибка и бот все равно останавливается. Почему?
И если кто то сталкивался с такой проблемой то подскажите как решили её.
Если есть идеи по лучше, как сделать так, чтобы бот не прекращал работать - прошу их написать.
run = True
def start():
for event in self.long_poll.listen(): # Слушаем сервер
if event.type == VkBotEventType.MESSAGE_NEW:
if event.object.from_id not in self.users:
self.users[event.object.from_id] = Commander()
# Пришло новое сообщение
if event.type == VkBotEventType.MESSAGE_NEW:
self.send_msg(event.object.peer_id, self.users[event.object.from_id].input(event.object.text))
while run:
try:
start()
except КонкретноеИсключение as exc:
# Здесь нужно его залогировать
Сергей Горностаев, Cпасибо за помощь. А исключение залогировать нужно только для того чтобы я его увидел? или можно pass написать(в месте где происходит логирование)?
Сергей Горностаев, А бот не зациклится на ошибке которая его крашит при длительном простое? То есть по логике он крашится, переходит в except, и потом опять запуститься?
plyshk1n2k, зависит от того, что именно там за ошибка. Возможно, её можно решить и другим, более подходящим способом. Но не видя кода и полного бэктрейса точный ответ дать невозможно.