SqlException 和 SqlExecutionException 有什么区别?
我了解 SqlException 是 SqlServer 本身引发的异常(或警告)。
但是在什么情况下会抛出 SqlExecutionException呢?
为什么它在 System.Web.Management 命名空间下定义?
SqlException 和 SqlExecutionException 有什么区别?
我了解 SqlException 是 SqlServer 本身引发的异常(或警告)。
但是在什么情况下会抛出 SqlExecutionException呢?
为什么它在 System.Web.Management 命名空间下定义?
SqlException 是 System.Data.SqlClient 类中的一般异常。它表示在对来自 SqlClient 类的 SQL Server 数据库执行某些命令期间发生的问题。
SqlExecutionException 是管理和健康监控类集的一部分。当针对SqlServices类使用的 SQL Server 数据库安装或删除服务期间出现问题时使用它。
它们位于不同的命名空间中,由不同的类引发。SqlException 位于 System.Data.SqlClient 命名空间中,由该命名空间中的类引发。SqlExecutionException 位于 System.Web.Management 命名空间中,由该命名空间中的类引发。您不希望 System.Web.Management 命名空间中的类抛出 System.Data.SqlClient 命名空间中存在的异常,这在调试时会非常混乱,因此他们创建了一个新的异常类。