Блок try будет работать с любыми неперехваченными исключениями, которые выдает код в блоке try. Это включает в себя методы, которые вы вызываете, любые методы, которые эти методы вызывают, и так далее. Если исключение выдается из одного из этих методов, оно будет «пузыриться» в программе, прерывая циклы, методы и т. Д., Пока не достигнет последнего (т. Е. Самого глубокого) блока попытки его включения.
Вы могли бы сказать, что с момента входа в блок попытки и до момента выхода из него любые исключения немедленно прервутся из попытки и получат возможность обрабатываться им (если только они не перехвачены другими блоками попытки). вложенный в него).
Итак, чтобы ответить на ваш вопрос, если вы знаете, что какие-либо исключения будут происходить внутри обработчика событий (или в методах, вызываемых из этого обработчика событий), тогда оборачивая все это в блок try-catch-finally, вы поймете любые исключения (при условии нетипизированного вылова).
Является ли это хорошей идеей или нет, это вопрос дизайна. Обычно это не так. Обычно вы хотите, чтобы ваши обработчики ошибок находились достаточно близко к месту возникновения ошибки. Однако, не зная вашей ситуации или вашего кода, трудно дать вам какой-либо совет по деталям дизайна, подобным этому.