Примерно так это выглядит:
Программный код:
class CustomDict(dict):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def add_string_item(self, key, value):
if not isinstance(value, str):
raise ValueError('Значение должно быть строкой')
self[key] = value
my_dict = CustomDict()
my_dict.add_string_item('name', 'Alice')
try:
my_dict.add_string_item('age', 30)
except ValueError as e:
print(e) # Ожидается ошибка: Значение должно быть строкой
Важно правильно обрабатывать ошибки, и тогда твой код будет работать как нужно.