|
1 / 1 / 3
Регистрация: 26.05.2015
Сообщений: 98
|
||||||
Try Exept, как правильно обработать некоторые исключения?20.11.2017, 15:52. Показов 10630. Ответов 23
Метки нет (Все метки)
Всем здрасте. Есть фунция, которая отсылает в телеграм картинку и ждет пока я пришлю в ответ текст с нее. Я поместил функцию в блок try, а блок except сделал на все исключения:
0
|
||||||
| 20.11.2017, 15:52 | |
|
Ответы с готовыми решениями:
23
Почему некоторые исключения невозможно обработать стандартным образом при помощи try catch?
Как правильнее обработать исключения? |
|
1 / 1 / 3
Регистрация: 26.05.2015
Сообщений: 98
|
||||||||
| 23.11.2017, 14:14 [ТС] | ||||||||
|
Кликните здесь для просмотра всего текста
реузльтат: Кликните здесь для просмотра всего текста
СРАБОТАЛО!!!!
2017-11-23 16:07:54,165 (util.py:64 PollingThread) ERROR - TeleBot: "ConnectionError occurred, args=(ProtocolError('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None)),) Traceback (most recent call last): File "C:\Python34\lib\site-packages\requests\packages\urllib3\conne ctionpool.py", line 372, in _make_request httplib_response = conn.getresponse(buffering=True) TypeError: getresponse() got an unexpected keyword argument 'buffering' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python34\lib\site-packages\requests\packages\urllib3\conne ctionpool.py", line 544, in urlopen body=body, headers=headers) File "C:\Python34\lib\site-packages\requests\packages\urllib3\conne ctionpool.py", line 374, in _make_request httplib_response = conn.getresponse() File "C:\Python34\lib\http\client.py", line 1227, in getresponse response.begin() File "C:\Python34\lib\http\client.py", line 386, in begin version, status, reason = self._read_status() File "C:\Python34\lib\http\client.py", line 348, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "C:\Python34\lib\socket.py", line 378, in readinto return self._sock.recv_into(b) File "C:\Python34\lib\ssl.py", line 748, in recv_into return self.read(nbytes, buffer) File "C:\Python34\lib\ssl.py", line 620, in read v = self._sslobj.read(len, buffer) ConnectionResetError: [WinError 10054] Удаленный хост принудительно разорвал существующее подключение During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python34\lib\site-packages\requests\adapters.py", line 370, in send timeout=timeout File "C:\Python34\lib\site-packages\requests\packages\urllib3\conne ctionpool.py", line 597, in urlopen _stacktrace=sys.exc_info()[2]) File "C:\Python34\lib\site-packages\requests\packages\urllib3\util\ retry.py", line 245, in increment raise six.reraise(type(error), error, _stacktrace) File "C:\Python34\lib\site-packages\requests\packages\urllib3\packa ges\six.py", line 309, in reraise raise value.with_traceback(tb) File "C:\Python34\lib\site-packages\requests\packages\urllib3\conne ctionpool.py", line 544, in urlopen body=body, headers=headers) File "C:\Python34\lib\site-packages\requests\packages\urllib3\conne ctionpool.py", line 374, in _make_request httplib_response = conn.getresponse() File "C:\Python34\lib\http\client.py", line 1227, in getresponse response.begin() File "C:\Python34\lib\http\client.py", line 386, in begin version, status, reason = self._read_status() File "C:\Python34\lib\http\client.py", line 348, in _read_status line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") File "C:\Python34\lib\socket.py", line 378, in readinto return self._sock.recv_into(b) File "C:\Python34\lib\ssl.py", line 748, in recv_into return self.read(nbytes, buffer) File "C:\Python34\lib\ssl.py", line 620, in read v = self._sslobj.read(len, buffer) requests.packages.urllib3.exceptions.Pro tocolError: ('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None)) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python34\lib\site-packages\telebot\util.py", line 58, in run task(*args, **kwargs) File "C:\Python34\lib\site-packages\telebot\__init__.py", line 159, in __retrieve_updates updates = self.get_updates(offset=(self.last_updat e_id + 1), timeout=timeout) File "C:\Python34\lib\site-packages\telebot\__init__.py", line 129, in get_updates json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates) File "C:\Python34\lib\site-packages\telebot\apihelper.py", line 175, in get_updates return _make_request(token, method_url, params=payload) File "C:\Python34\lib\site-packages\telebot\apihelper.py", line 54, in _make_request timeout=(connect_timeout, read_timeout), proxies=proxy) File "C:\Python34\lib\site-packages\requests\sessions.py", line 465, in request resp = self.send(prep, **send_kwargs) File "C:\Python34\lib\site-packages\requests\sessions.py", line 573, in send r = adapter.send(request, **kwargs) File "C:\Python34\lib\site-packages\requests\adapters.py", line 415, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None)) Добавлено через 3 минуты
0
|
||||||||
|
|
||
| 23.11.2017, 22:19 | ||
|
То, что у вас сразу после перехвата возникают новые exception'ы - это уже отдельная тема. Но вы же об этом не написали - вы изначально неверно сформулировали свою проблему. У меня нет своего телеграм-бота, чтобы проверить ваш код, но суть не в этом. Вы написали, что Exception не перехватывает ошибки, вам ответили, что перехватывает - потому что документация не врет. Кто был прав? Теперь по новому сабжу: почему после перехвата ошибки, возникают новые? Вопрос на миллион: вы, в своем коде, используете точку входа в приложение? Для многопоточных приложений под windows это must have.
1
|
||
|
1 / 1 / 3
Регистрация: 26.05.2015
Сообщений: 98
|
||||||
| 23.11.2017, 22:36 [ТС] | ||||||
|
0
|
||||||
|
|
|
| 24.11.2017, 01:33 | |
|
Точка входа в компилируемых языках это главная функция main().
В python это блок if __name__ == '__main__': Его использование является good practice, даже если приложение однопоточное. Многопоточные приложения (telebot - многопоточный модуль) под windows без него вообще нельзя использовать. Добавлено через 20 минут Не по теме: Я бы вам дал более полный ответ, но не могу зарегистрироватся. Реально не могу.
0
|
|
| 24.11.2017, 01:33 | |
|
Помогаю со студенческими работами здесь
24
Google testing: как обработать исключения из SetUp() / TearDown()? Исключения: как из блока try обработать и передать наверх АВТОРСКОЕ исключение? Как посредством catch try throw сделать линейно без if else чтобы обработать исключения Калькулятор в одну строку и умеющий работать с римскими и арабскими цифрами. Как обработать исключения? Как мне обработать исключение так, чтобы программа продолжала работать, будто исключения не было? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|