SqlException和SqlExecutionException有什么区别?

时间:2010-08-17 13:40:35

标签: .net exception-handling exception sqlexception

SqlException和SqlExecutionException有什么区别?

我知道SqlException是SqlServer本身抛出的异常(或警告)。

在什么情况下抛出SqlExecutionException

为什么在System.Web.Management命名空间下定义?

2 个答案:

答案 0 :(得分:2)

SqlException是System.Data.SqlClient类中的一般异常。它表示在从SqlClient类对SQL Server数据库执行某些命令期间发生的问题。

SqlExecutionException是管理和运行状况监视类集的一部分。在针对SqlServices类使用的SQL Server数据库安装或删除服务期间出现问题时使用它。

答案 1 :(得分:1)

它们位于不同的名称中,并由不同的类抛出.SqlException位于System.Data.SqlClient名称空间中,并由该命名空间中的类抛出。 SqlExecutionException位于System.Web.Management名称空间中,并由该命名空间中的类抛出。您不希望System.Web.Management namesapce中的类抛出System.Data.SqlClient命名空间中存在的异常,这在调试时会非常混乱,因此他们创建了一个新的异常类。