Python try/catch в суперклассе для обработки ошибок, логическая обработка/ошибка, возникающая в методе подкласса ⇐ Python

Программы на Python
Anonymous
Python try/catch в суперклассе для обработки ошибок, логическая обработка/ошибка, возникающая в методе подкласса

Сообщение Anonymous »

Кажется, я не могу этого понять, и мне кажется, что я должен это сделать, но я тупой и глупый, поэтому помогите мне через Интернет.
Я хочу есть суперкласс, который требует реализации метода его наследниками, но в конечном итоге имеет общую обработку ошибок, которая заключается в регистрации ошибки и ее возникновении. Я предпочитаю этот метод, поскольку у меня есть несколько подклассов, которые используют этот объект, поэтому обновление родительского класса требует гораздо меньше изменений кода, а также кажется более чистым по сравнению с добавлением try/catch к каждому варианту дочернего класса, который у меня есть
например

Код: Выделить всё

class Super(object):
logger = logging.GetLogger(__name__)

def my_method(some_value):
try:
raise RuntimeError("my_method must be implemented")
except Exception as e:
logger.error("error raised: %s" % e)
raise e

class childClass(Super):
def my_method(some_value):
# do some stuff, maybe an error gets raised

Я реализовал что-то вроде описанного выше, но не вижу создания сообщения журнала

Подробнее здесь: https://stackoverflow.com/questions/790 ... ror-raised

Вернуться в «Python»