В настоящее время я пишу класс оболочки. Я хочу иметь возможность правильно регистрировать исключения, но позволять вызывающим методам знать об исключениях, которые происходят. Мой класс выглядит следующим образом:
import logging
log = logging.getLogger('module')
class MyAPIWrapper(library.APIClass):
def __init__(self):
self.log = logging.getLogger('module.myapiwrapper')
def my_wrapper_method(self):
try:
response = self.call_api_method()
return response.someData
except APIException, e:
self.log.exception('Oh noes!')
raise e #Throw exception again so calling code knows it happened
Я немного сомневаюсь в том, что поймать и исключить, только чтобы зарегистрировать его, а затем повторно поднять его, чтобы вызывающий код мог что-то с этим сделать. Какая здесь правильная схема?