Получить URL-адрес при обработке urllib2.URLError

Это относится конкретно к urllib2, но в более общем плане пользовательской обработки исключений. Как передать дополнительную информацию вызывающей функции в другом модуле через возбужденное исключение? Я предполагаю, что я бы повторно поднял, используя собственный класс исключений, но я не уверен в технических деталях.

Вместо того, чтобы загрязнять образец кода тем, что я пробовал и потерпел неудачу, я просто представлю его как в основном чистый лист. Моя конечная цель - чтобы последняя строка в образце работала.

#mymod.py
import urllib2

def openurl():
    req = urllib2.Request("http://duznotexist.com/")
    response = urllib2.urlopen(req)

#main.py
import urllib2
import mymod

try:
    mymod.openurl()
except urllib2.URLError as e:
    #how do I do this?
    print "Website (%s) could not be reached due to %s" % (e.url, e.reason)
7
задан mwolfe02 28 June 2011 в 15:53
поделиться