SqlException的构造函数在哪里? - c#

我正在编写单元测试,以验证是否检测到由数据库过载引起的异常。

但是我找不到SqlException的构造函数。为什么在元数据中看不到构造函数?

以下代码只是为了帮助理解为什么我要寻找构造函数。

#region Is Timeout
[TestMethod]
public void TestTimeOutWin32ExceptionTimeOut()
{
    Win32Exception ex = new Win32Exception("The wait operation timed out");
    Assert.IsTrue(ExceptionHelper.IsDatabaseTimeOut(ex));
}

[TestMethod]
public void TestTimeOutSqlExceptionTimeOut()
{
    SqlException ex = new SqlException("Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.");
    Assert.IsTrue(ExceptionHelper.IsDatabaseTimeOut(ex));
}

[TestMethod]
public void TestTimeOutEntityCommandExecutionException()
{
    SqlException innerException = new SqlException("Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.");
    EntityCommandExecutionException ex = new EntityCommandExecutionException("anything", innerException);
    Assert.IsTrue(ExceptionHelper.IsDatabaseTimeOut(ex));
}

#endregion

#region Is NOT Timeout
[TestMethod]
public void TestTimeOutWin32ExceptionEmpty()
{
    Win32Exception ex = new Win32Exception("");
    Assert.IsFalse(ExceptionHelper.IsDatabaseTimeOut(ex));
}

[TestMethod]
public void TestTimeOutArgumenException()
{
    ArgumentException ex = new ArgumentException("invalid path");
    Assert.IsFalse(ExceptionHelper.IsDatabaseTimeOut(ex));
}

[TestMethod]
public void TestTimeOutArgumenNullException()
{
    ArgumentNullException ex = new ArgumentNullException("empty path");
    Assert.IsFalse(ExceptionHelper.IsDatabaseTimeOut(ex));
}

[TestMethod]
public void TestTimeOutException()
{
    Exception ex = new Exception("custom string");
    Assert.IsFalse(ExceptionHelper.IsDatabaseTimeOut(ex));
}
#endregion

参考方案

SqlException使用内部工厂方法(CreateException)通过私有构造函数在内部创建实例。没有允许您创建一个的公共方法,可能是因为该方法特定于SQL数据提供程序,而不是供您创建自己的异常。

这个json格式正确吗? - c#

我尝试解析时有json数据,返回错误的语法错误,请帮助我发现语法错误。[{"isData":"Yes","Details":"[{"Id":"70","Name":"Test","FileName&#…

.NET C#Webbrowser填充输入,不带ID或类名 - javascript

我需要在网络浏览器中填写一个输入,但这不起作用。我认为必须使用name属性来完成,但是怎么做呢?foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input")) { if (login.GetAttribute("name"…

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

asp.net mvc中的对象数组数据始终为null - javascript

我需要通过json将对象数组发送到asp.net mvc 2,但是我在mvc控制器中没有得到null对象是这样的entries[1].date = "12/22/2014" entries[1].Ref = "0002" entries[1].Credit = "100" entries[2].da…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…