Asp.net mvc 无法引用InnerException.Catch内的消息(异常ex)

Asp.net mvc 无法引用InnerException.Catch内的消息(异常ex),asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我在asp.net mvc web应用程序中有以下代码作为操作方法的一部分:- catch (Exception ex) { using (var client = new WebClient()) { var query = HttpUtility.ParseQueryString(string.Empty); XmlDocument do2c = new XmlDocument(); query["user

我在asp.net mvc web应用程序中有以下代码作为操作方法的一部分:-

catch (Exception ex)
{
      using (var client = new WebClient())
      {

          var query = HttpUtility.ParseQueryString(string.Empty);
          XmlDocument do2c = new XmlDocument();
          query["username"] = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiUserName"];
          query["password"] = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiPassword"];
          query["assetType"] = RouteData.Values["controller"].ToString();
          query["operation"] = "DeleteAsset";
          query["assetName"] = vmj.Resource.RESOURCENAME;
          query["accountName"] = vmj.Customer.NAME;
          query["siteName"] = sitename;
          string apiurl = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiURL"];
          var url = new UriBuilder(apiurl);
          url.Query = query.ToString();
          try
          {
              string xml = client.DownloadString(url.ToString());
              XmlDocument doc2 = new XmlDocument();
              doc.LoadXml(xml);


          }
          catch (WebException ex2)
          {
              ModelState.AddModelError(string.Empty, "Error occurred:" + ex2.InnerException.Message);
          }
          //}
          //}
      }
      ModelState.AddModelError(string.Empty, "Error occurred:" + ex.InnerException.Message);
  }
}

但是当出现异常ex时,我无法显示其InnerException.Message,并且在尝试引用InnerException.Message时,我将得到一个空引用异常。尽管我添加了一个制动点,ex对象包含内部异常和描述异常的消息。你知道发生了什么吗

删除WebException的
try/catch
,除非您打算以不同方式处理它。它将被外部
try/catch
捕获。此外,在引用内部异常之前,请进行检查以确保内部异常为null。并非所有的异常都有内部异常,我感觉您在寻找异常,因为您没有预料到并混淆自己。我使用WebException,因为它将返回与外部try/catch不同的异常消息。我在运行时检查ex,它会发出一条内部异常消息,这表明发生了实体验证错误。ex2.ToString()是否包含所需的文本?