Есть вопрос на то, как я понял тему с исключениями, если я это не так понял, то поправьте пож.
Когда мы пробрасываем исключение, то оно будет выходить из функций вверх по стеку до тех пор пока она не дойдёт до нужного обработчика, в котором мы как-то эту ошибку обработаем и пойдёт дальше уже по коду выполнять программу, если же мы никакого обраотчика для X ошибки не сделали, то оно пойдёт до функции main и заоконмерно аварийно завершит программу. Так?