2013-06-07 2 views
0

Я недавно переключился с urlib2 на запросы, и я не уверен, как справляться с исключениями. Что такое лучшая практика? Мой текущий код выглядит следующим образом, но не делает ничего хорошего:Python: Обработка запросов исключает правильный путь

try: 
    response = requests.get(url) 
except requests.ConnectionError , e: 
    logging.error('ConnectionError = ' + str(e.code)) 
    return False 
except requests.HTTPError , e: 
    logging.error('HTTPError = ' + str(e.reason)) 
    return False 
except requests.Timeout, e: 
    logging.error('Timeout') 
    return False 
except requests.TooManyRedirects: 
    logging.error('TooManyRedirects') 
    return False 
except Exception: 
    import traceback 
    logging.error('generic exception: ' + traceback.format_exc()) 
    return False 
+0

Зависит от того, что ваша цель. Вы хотите знать о каждом конкретном исключении или просто хотите обнаружить какой-либо сбой? – bwind

+0

Нет. Я не хочу знать о каждом конкретном исключении. Что такое обычная практика? – jvannistelrooy

ответ

0

Поскольку это выглядит плохо, как комментарий, вы пробовали:

try: 
    # some code 
except Exception as e: 
    print e 
+0

Это похоже на работу, но сложно проверить все ошибки. Благодаря! Я постараюсь немного поиграть с ним. – jvannistelrooy

Смежные вопросы