| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | # Обработка исключенийdef exc_1():    try:        int('hello')        1/0    except ValueError:        print('error ValueError')#def exc_2():    try:        1/0    except Exception as e:        print(e)    finally:    # выполняется всегда        print('finally!!!')def exc_3():    try:        1/1    # except (KeyError, IndexError):    except Exception as e:        print('Exception!!!', e)    else:   # отрабатывает когда в try нет исключения        print('try else!!! Исключения не состоялось!')    finally:        print('Еще и finally можно запилить!!!')def exc_4():    try:        a = int(input())        b = int(input())        print(f"Результат деления a на b: {a/b}")    except (ValueError, ZeroDivisionError):        print('Введите корректные значения')def exc_5():    try:        a = int(input())        b = int(input())        print(f"Результат деления a на b: {a/b}")    except ValueError:        print('Введите целое число')    except ZeroDivisionError:        print('Делитель не должен быть равен нулю')def exc_6():    try:        file = open('pentagon_secrets.txt', 'r')        print(file.read())    except FileNotFoundError:        print('Эх, не судьба тайны пентагона узнать')def func(phrase):    func(phrase)def exc_7():    try:        func('Это рекурсия, детка!')    except RecursionError:        print('Кто-то должен остановить это безумие')class CustomButton:        def __init__(self, text, **kwargs):        self.text = text        for key, value in kwargs.items():            setattr(self, key, value)    def config(self, **kwargs):        for key, value in kwargs.items():            setattr(self, key, value)        def click(self):        try:            self.command()        except AttributeError:            print('Кнопка не настроена')        except TypeError:            print('Кнопка сломалась')def main():    # exc_1()    # exc_2()    # exc_4()    # exc_5()    # exc_6()    # exc_7()            '''    door = CustomButton('text', size='180x70', color='red', material='oak')    print(door.size, door.color, door.material, sep=', ')    door.config(new_attr='value')    print(door.size, door.color, door.material, door.new_attr, sep=', ')    door.config(new_attr='new_value')    print(door.size, door.color, door.material, door.new_attr, sep=', ')    '''    if __name__ == '__main__':    main()
 |