Назад к вопросам
Senior
2
# Усложнение # У нас появляется новая продуктовая фича: резервирование денег через мобильное приложение. # Для этого в класс ATM нужно добавить новый метод reserve(amount). Также нам надо учесть возможность HardwareError в методах SDK.
Компании, где спрашивали
Яндекс
Ответ от нейросети
sobes.tech AI
Для добавления новой функциональности резервирования денег в класс ATM нужно:
- Добавить метод
reserve(amount), который будет взаимодействовать с SDK для блокировки суммы. - Обработать возможное исключение
HardwareErrorв методах SDK, чтобы корректно реагировать на ошибки оборудования.
Пример на Python:
class HardwareError(Exception):
pass
class ATM:
def __init__(self, sdk):
self.sdk = sdk
def reserve(self, amount):
try:
self.sdk.block_amount(amount)
except HardwareError as e:
# Логируем ошибку, уведомляем пользователя или предпринимаем восстановительные действия
print(f"Ошибка оборудования при резервировании: {e}")
raise
def withdraw(self, amount):
try:
self.sdk.dispense_cash(amount)
except HardwareError as e:
print(f"Ошибка оборудования при выдаче наличных: {e}")
raise
Таким образом, новый метод reserve добавляет функциональность резервирования, а обработка HardwareError позволяет надежно работать с аппаратными сбоями.