Я слышал, что в некоторых языках программирования (например, python) обработка исключений происходит намного быстрее нежели проверки перед выполнением инструкции. Также есть и другая группа языков в которой быстрее сделать проверки и лишь в некоторых случаях обработать исключение. Вопрос к какой из этих относится C#? и почему?
C# относится к группе языков в которой лучше делать проверки, поскольку try - catch достаточно дорогостоящая операция. Но это не значит, что нужно отказаться от try - catch, это говорит о том, что всё нужно применять с умом, например если Вы знаете, что у Вас с вероятностью в 80% будет ошибка при обработке инструкции, тогда лучше делайте проверки, при этом можете поместить весь этот код в блок try (влияние его использования при не возникновении ошибки не столь большая).
Более детальнее об этом можете почитать тут.