Форум сайта python.su
Добрый !
Прошу помощи по перехвату и обработке ошибок из СОМ-объектов
Нашел на форуме упоминание про перехват в питоне 2.4 в таком виде
try: ..... except pywintypes.com_error,e: print e
D:\Python v2-7>python.exe d:\fb-py4-2.py (-2147352567, '\xce\xf8\xe8\xe1\xea\xe0.', (0, [b]u'SWbemLocator', u'\u041e\u0442\u 043a\u0430\u0437\u0430\u043d\u043e \u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u 0435. '[/b], None, 0, -2147024891), None)
..... except pywintypes.com_error,e:
Офлайн
AceЕсли документации нет, можно попробовать выяснить что находится в эксепшене через интроспекцию
Интересуют отдельно данные “-2147352567”, источник ошибки ‘SWbemLocator’ и ее текстовое описание.
except pywintypes.com_error as e: print dir(e) for name in dir(e): if not name.startswith('__'): print '%s: %r' % (name, getattr(e, name))
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__', '__getslice__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__unicode__', '__weakref__', 'argerror', 'args', 'excepinfo', 'hresult', 'message', 'strerror'] argerror: None args: (-2147352567, '\xce\xf8\xe8\xe1\xea\xe0.', (0, u'SWbemLocator', u'\u041e\u0442\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0435. ', None, 0, -2147024891), None) excepinfo: (0, u'SWbemLocator', u'\u041e\u0442\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0435. ', None, 0, -2147024891) hresult: -2147352567 message: '' strerror: '\xce\xf8\xe8\xe1\xea\xe0.'
>>> print e.excepinfo[1], e.excepinfo[2] SWbemLocator Отказано в доступе.
AceВ Py3 используется следующий синтаксис:
Вопрос 2 . В питоне 3 такой код в принципе не выполняется ?
except pywintypes.com_error as e:
Офлайн
Понял, попробую !
Офлайн