SqlException和SqlExecutionException有什么区别?
我知道SqlException是SqlServer本身抛出的异常(或警告)。
但在什么情况下抛出SqlExecutionException ?
为什么在System.Web.Management命名空间下定义?
答案 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命名空间中存在的异常,这在调试时会非常混乱,因此他们创建了一个新的异常类。