这里是代码。smtpException被用户代码未处理
void sendMail()
{
MailMessage mail = new MailMessage();
mail.To.Add("[email protected]");
mail.From = new MailAddress("[email protected]", txt_name.Text);
mail.Subject = txt_subject.Text;
mail.Body = txt_body.Text;
SmtpClient smtp = new SmtpClient("smtp.gmail.com");
smtp.EnableSsl = true;
NetworkCredential yetki = new NetworkCredential("[email protected]", "11111111");
smtp.Credentials = yetki;
smtp.Send(mail);
Response.Write("mailiniz başarılı bir şekilde gönderilmiştir");
}
protected void btn_gonder_Click(object sender, EventArgs e)
{
sendMail();
}
@gmcalab因为它是框架代码。如果我打算采取一些可以纠正错误并成功完成对sendMail的调用的明确操作,或者我计划重新抛出更专门化的异常,我只会将其放在sendMail中。如果我只是显示一个消息框,我希望它在代码的可重用部分之外。我不想从服务中调用sendMail并让它尝试显示用户永远不会看到的消息框。 – AaronLS 2010-04-06 21:42:02
@gmcalab我的意思是,整个过程只是为了向他展示一个try/catch。根据他在哪里使用这段代码,上下文中try/catch的位置以及实际做什么的主题会有很大的不同。你是狭隘的认为有一个解决方案适合所有的方法。 – AaronLS 2010-04-06 21:46:08
@gmcalab仅供参考,因为我相信它和我的解决方案一样有效,所以我给了你的解决方案一个满意的答案。再次,尝试/抓住的地方是分裂头发,因为这是一个非常广泛的讨论,超出了问题的范围。 – AaronLS 2010-04-06 21:48:00