Обрабатывать Контекст with

Рейтинг: 0Ответов: 0Опубликовано: 17.03.2023

Правильно ли в методе __exit__ как-то взаимодействовать с exc_type? Делать какие действия, если ошибка определенного типа

class Config:
    def __init__(self, block: int) -> None:
        self.__block = block
        
    def __enter__(self):
        return self.__block
            
    def destroy(self, suppress: bool):
        if suppress:
            print(True)
        else:
            print(False)
            
    def __exit__(self, exc_type, exc_val, exc_tb) -> bool:
        flag = False
        
        if exc_type is not None:
            if exc_type is TypeError:
                flag = True
                
        self.destroy(suppress=flag)
        return True


if __name__ == '__main__':
    with Config((1920, 1080)) as b:
        b[0] = 1920

Ответы

Ответов пока нет.