Asp.net mvc SQL Try..Catch..Finally未显示错误
我如何才能得到下面的SQLException错误消息来显示 我有一个用户上传数据文件的网站。我故意添加了不正确的数据(文本到只允许整数的字段中)作为错误处理的测试。视图中没有渲染任何内容。我确信正在抛出异常,因为数据库中没有任何数据。如果我删除了不正确的字段,所有内容都可以上传。我也尝试过ex.toString()和ex.message,但都没有成功 我认为:Asp.net mvc SQL Try..Catch..Finally未显示错误,asp.net-mvc,sqlexception,Asp.net Mvc,Sqlexception,我如何才能得到下面的SQLException错误消息来显示 我有一个用户上传数据文件的网站。我故意添加了不正确的数据(文本到只允许整数的字段中)作为错误处理的测试。视图中没有渲染任何内容。我确信正在抛出异常,因为数据库中没有任何数据。如果我删除了不正确的字段,所有内容都可以上传。我也尝试过ex.toString()和ex.message,但都没有成功 我认为: @ViewBag.ErrorMessage 控制器: using (SqlCommand command = new SqlComm
@ViewBag.ErrorMessage
控制器:
using (SqlCommand command = new SqlCommand(sql2, con))
{
try
{
// long SQL statement
con.Open();
command.ExecuteNonQuery();
TempData["shortMessage"] = "Dataset Uploaded Successfully.";
}
catch (SqlException ex)
{
ViewBag.ErrorMessage = ex.ToString();
}
catch (Exception ex)
{
ViewBag.ErrorMessage = ex.ToString();
}
finally
{
con.Close();
}
}
您是否尝试过在调试器中设置断点以检查是否抛出/捕获异常?如果要在每个调试器中执行相同的操作,为什么要捕获这两个异常?虽然我认为您应该捕获要抛出的最具体的错误,但添加广泛异常捕获会使此SqlException捕获毫无价值。如果这是表单验证错误,它不会抛出异常,而是会将ModelState设置为无效。带有验证错误的响应仍然是Http 200响应。您需要检查ModelState是否无效并返回视图。请提供视图模型、视图代码和控制器操作。给定控制器中的操作方法不返回任何视图。只需说“returnview()”就可以了。