Исключения "всплывают" в вызывающем методе, поэтому наличие блока try-catch в вашем Main
методе достаточно, чтобы перехватить все.
Следующий важный вопрос - что вы собираетесь делать с исключениями на верхнем уровне? Как только вы вернетесь на этот уровень, часто невозможно выполнить какое-либо соответствующее восстановление после ошибки, кроме как попытаться повторить операцию. Часто гораздо лучше отлавливать любые исключения, которые могут возникнуть на сайте, где они создаются, и реализовывать там код восстановления.