
def excp_1():
    print(1)
    print(2)
    try:
        print(3)
        print(1/0)
    except ZeroDivisionError:
        print('Ошибка деления на ноль!')
    print(4)

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Распространение исключений

def first_func():
    print('Начало работы функции first_func')
    try:
        second_func()
    except Exception as ex:
        print(f'Внимание! Обработано исключение: {ex}')
    print('Конец работы функции first_func')

def second_func():
    print('Начало работы функции second_func')
    third_func()
    print('Конец работы функции second_func')

def third_func():
    print('Начало работы fird_func')
    1/0
    print('Конец работы функции third_func')

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Обработка исключений


def main():
    # excp_1()
    first_func()


if __name__ == '__main__':
    main()