Обработка ошибок в PRAW (Reddit) - PullRequest
0 голосов
/ 07 января 2019

Я играю с созданием бота с автоматическим ответом, который сканирует r / все комментарии отправки для данной команды, например. ! Команда

Обнаружив эту команду, он отвечает на комментарий строкой:

eg. "Hello"

Ошибка, которую я получаю, заключается в том, что для новых учетных записей существует ограничение, когда они могут комментировать только каждые 10 минут. И когда бот комментирует и переходит к следующему комментарию, чтобы ответить на него, появляется эта ошибка:

raise APIException(*errors[0])
praw.exceptions.APIException: RATELIMIT: 'you are doing that too much. 
try again in 2 minutes.' on field 'ratelimit'

Как я могу обнаружить этот тип ошибки, чтобы код знал, что делать, на данный момент весь скрипт останавливается, и мне нужно запустить его снова через 10 минут.

Читал https://praw.readthedocs.io/en/latest/code_overview/exceptions.html, но все еще не получил

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Как сказал Самакш Джайн,

используется try..catch

импортированное исключение API с использованием следующего

import django
from rest_framework.exceptions import APIException
0 голосов
/ 07 января 2019

Здесь поднимается Exception, который вы можете обработать , используя try..except

try:
    the_api_call()

except APIException as e:
    print "Handling exception like a baus"

P.S. вам нужно будет импортировать APIException, поскольку это не встроенное исключение.

...