System.TypeInitializationException
генерируется, когда конструктор static генерирует исключение, а не конструктор экземпляра. Исключения обычно генерируются в конструкторах экземпляров.
Кроме этого, в этом нет ничего "плохого", как и везде; обрабатывать исключения, из которых вы можете корректно восстановиться, и разрешать те, которые вы не можете всплыть.