class Product:
def __init__(self, title, logger):
self.title = title
self.logger = logger
def setPrice(self, price):
try:
if price <= 0: raise Exception('wrong price!')
self.price = price
except Exception as e:
self.logger.fillLog(e)
class Logger:
def __init__(self):
self.log = []
def makeLog(self, message):
print('error: ', message)
def fillLog(self, message):
self.log.append(message)
logger = Logger()
product = Product('phone', logger)
product.setPrice(-10)
Y2xhc3MgUHJvZHVjdDoKICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0aXRsZSwgbG9nZ2VyKToKICAgICAgICBzZWxmLnRpdGxlID0gdGl0bGUKICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgoKICAgIGRlZiBzZXRQcmljZShzZWxmLCBwcmljZSk6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBpZiBwcmljZSA8PSAwOiByYWlzZSBFeGNlcHRpb24oJ3dyb25nIHByaWNlIScpCiAgICAgICAgICAgIHNlbGYucHJpY2UgPSBwcmljZQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgc2VsZi5sb2dnZXIuZmlsbExvZyhlKQoKY2xhc3MgTG9nZ2VyOgogICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgIHNlbGYubG9nID0gW10KCiAgICBkZWYgbWFrZUxvZyhzZWxmLCBtZXNzYWdlKToKICAgICAgICBwcmludCgnZXJyb3I6ICcsIG1lc3NhZ2UpCgogICAgZGVmIGZpbGxMb2coc2VsZiwgbWVzc2FnZSk6CiAgICAgICAgc2VsZi5sb2cuYXBwZW5kKG1lc3NhZ2UpCgpsb2dnZXIgPSBMb2dnZXIoKQpwcm9kdWN0ID0gUHJvZHVjdCgncGhvbmUnLCBsb2dnZXIpCnByb2R1Y3Quc2V0UHJpY2UoLTEwKQ==