Я не думаю, что это обязательно плохая практика. Однако есть несколько предостережений ...
Я полагаю, что цель того, кто бы назвал эту "плохую практику", заключалась в том, чтобы подкрепить идею о том, что вы должны ловить исключения , наиболее близкие к тому, где они встречаются (т. Е. Как можно выше / превышать стек вызовов) , Общий обработчик исключений, как правило, не является хорошей идеей, поскольку он значительно сокращает доступный вам поток управления. Грубая обработка исключений является весьма важным , а не разумным решением для стабильности программы. К сожалению, многие начинающие разработчики думают, что это так, и используют такие подходы, как это общее утверждение try-catch.
Сказав это, , если , вы правильно использовали обработку исключений (детально и конкретно для задачи) в остальной части вашей программы и соответственно обработали ошибки (вместо того, чтобы юист отображал общая ошибка), затем общая попытка перехвата всех исключений в методе Main
, вероятно, полезная вещь. Здесь следует отметить, что если вы воспроизводимо получаете ошибки, пойманные в этом Main
try-catch, то у вас либо есть ошибка, либо что-то не так в вашей локализованной обработке исключений.
Основное использование этого try-catch с Main
было бы исключительно для предотвращения сбоя вашей программы в очень необычных обстоятельствах, и оно едва ли должно показывать (смутно) удобное для пользователя сообщение «фатальная ошибка» для пользователь, а также, возможно, где-то регистрирует ошибку и / или отправляет отчет об ошибке. Итак, в заключение: этот метод действительно имеет свое применение, но его нужно делать с большой осторожностью, а не по неправильным причинам.