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()
|