Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 15, 2015 20:10:25

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Что делать с нестабильной сетью?

Добрый вечер. Есть примерно такой код:

dialogs = vk.get('messages.getDialogs')

vk.get делает запрос. Из-за нестабильной сети выскакивают следующие исключения:
ssl.SSLError: The read operation timed out
socket.error: [Errno 101] Network is unreachable

Пока эти исключения обрабатываю так:
def foo():
	try:
		return vk.get('messages.getDialogse')
	except SSLError:
		foo()
dialogs = foo()
Но это, на мой взгляд, не очень хорошо. Как такие исключения лучше всего обрабатывать?

Отредактировано alexsis (Янв. 15, 2015 20:12:01)

Офлайн

#2 Янв. 15, 2015 20:37:33

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Что делать с нестабильной сетью?

def foo():
    for i in range(2, 10):
        try:
            return vk.get('messages.getDialogse')
        except SSLError:
            print('Не удалось подключится :( попытка № %d' % i)
    print('Превышено количество попыток. Проверьте оединение и запустите снова')
dialogs = foo()
alexsis
Но это, на мой взгляд, не очень хорошо
это очень плохо!



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Янв. 15, 2015 20:37:46)

Офлайн

#3 Янв. 15, 2015 20:43:25

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Что делать с нестабильной сетью?

Ок, а есть еще варианты?

Офлайн

#4 Янв. 15, 2015 20:46:24

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Что делать с нестабильной сетью?

alexsis
Ок, а есть еще варианты?
а что вы еще хотите?



————————————————
-*- Simple is better than complex -*-

Офлайн

#5 Янв. 15, 2015 22:51:01

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Что делать с нестабильной сетью?

Спасибо, уже разобрался.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version