Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc SQL Try..Catch..Finally未显示错误_Asp.net Mvc_Sqlexception - Fatal编程技术网

Asp.net mvc SQL Try..Catch..Finally未显示错误

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

我如何才能得到下面的SQLException错误消息来显示

我有一个用户上传数据文件的网站。我故意添加了不正确的数据(文本到只允许整数的字段中)作为错误处理的测试。视图中没有渲染任何内容。我确信正在抛出异常,因为数据库中没有任何数据。如果我删除了不正确的字段,所有内容都可以上传。我也尝试过ex.toString()和ex.message,但都没有成功

我认为:

 @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()”就可以了。