Asp.net 捕获联系人表单中的异常

Asp.net 捕获联系人表单中的异常,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我将在asp.NETMVC4中创建表单联系人。我还没有在html和控制器的代码形式。他看起来像: [HttpPost] public ActionResult Kontakt(KontaktModel k) { if (ModelState.IsValid) { try { MailMessage msg = new MailMessage();

我将在asp.NETMVC4中创建表单联系人。我还没有在html和控制器的代码形式。他看起来像:

       [HttpPost]
    public ActionResult Kontakt(KontaktModel k)
    {
        if (ModelState.IsValid)
        {
            try
            {
                MailMessage msg = new MailMessage();
                SmtpClient smtp = new SmtpClient();
                MailAddress from = new MailAddress(k.Mail.ToString());
                StringBuilder sb = new StringBuilder();
                msg.To.Add("myemail@gmail.com");
                msg.Subject = k.Temat.ToString();
                msg.IsBodyHtml = false;
                smtp.Host = "smtp.gmail.com";
                smtp.Port = 587;
                sb.Append("Nick / Imię i nazwisko: " + k.Name);
                sb.Append(Environment.NewLine);
                sb.Append("Typ problemu: " + k.TypProblemu);
                sb.Append(Environment.NewLine);
                sb.Append("Treść:");
                sb.Append(Environment.NewLine);
                sb.Append(k.Tresc);
                msg.Body = sb.ToString();
                smtp.Send(msg);
                msg.Dispose();
                return View("SUCCESS");
            }
            catch(Exception)
            {
                return View("Error");
            }
        }
        return View();
    }


}

但当我点击按钮app return Error.cshtml时。我有一个问题,我如何知道如何捕获异常?我不知道为什么它不起作用。有什么想法吗?

答案应该是获取异常消息并放入ViewBag.Message中,然后在Error.cshtml视图中显示它

错误: @查看包。留言

但对异常和异常处理知之甚少是好的。如果只声明一个try-catch并且发生异常,那么它将进入catch内部,如果执行try-catch(异常)则情况相同如果您想了解发生异常的更多详细信息,可以声明一个变量,例如:

try{
   ///code
 }catch(Exception e){}
然后您可以查看变量内部的更多细节

好的做法是了解您可以接收和处理哪种类型的异常,这里有一个链接可以很好地解释

例如:

try
{
 //code
}
catch(Exception c)
{
  ViewBag.Message = c.Message
  return View("ERROR");
}