Exceção no construtor estático

Eu procurei na SO por uma resposta a isso, e a melhor que posso encontrar até agora éaqui, porém, isso é voltado para instâncias com construtores estáticos; Eu só estou usando a classe estaticamente.

Meu código:

public static class MailHelper {

    private static string mailHost;

    static MailHelper() {

        var mailSettings = ConfigurationManager.GetSection("MailSettings") as NameValueCollection;
        if (null == mailSettings) {
            throw new ConfigurationErrorsException("Missing Mail Settings in the configuration file");
        }

        mailHost = ConfigurationManager.AppSettings["mailHost"];
        if (null == mailHost) {
            throw new ConfigurationErrorsException("Missing mailHost setting in the configuration file");
        }

    }

    public static void SendMail(MailMessage Message) {
        ...
    }

}


try {
    MailHelper.SendMail(Message);
}
catch (ConfigurationErrorsException exc) {
    ...
}

//  ???    
MailHelper.SendMail(Message);


.

Portanto, se o construtor estático lança uma exceção na primeira vez em que é chamado, o que acontece na segunda vez que tento acessar o método estático SendMail ()?

PS: Desculpe se você não gosta da versão do K&R do Stroustrup, mas não edite meu post apenas para mudar o aparelho para o seu estilo Allman preferido. Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion