Asp.net mvc 无法引用InnerException.Catch内的消息(异常ex)
我在asp.net mvc web应用程序中有以下代码作为操作方法的一部分:-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
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()是否包含所需的文本?