Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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
C# 关闭连接的例外情况_C#_Sql - Fatal编程技术网

C# 关闭连接的例外情况

C# 关闭连接的例外情况,c#,sql,C#,Sql,如果连接关闭,是否会引发特定的异常?我正在编写一个接受SqlConenction对象的方法,我想检查与State属性的连接: public void MyMethod(SqlConnection sql) { if (sql.State != ConnectionState.Open) { //Throw the exception } } 为什么要抛出一个异常而不是一条消息和一个指示连接未打开的标志?这很

如果连接关闭,是否会引发特定的异常?我正在编写一个接受SqlConenction对象的方法,我想检查与State属性的连接:

public void MyMethod(SqlConnection sql)
    {
        if (sql.State != ConnectionState.Open)
        {
            //Throw the exception
        }
    }

为什么要抛出一个异常而不是一条消息和一个指示连接未打开的标志?这很糟糕。你们能告诉我为什么需要这个吗?若你们真的想抛出异常,那个么抛出你们自己定制的异常。关于我必须创建一个数据库的更多信息,因此我正在创建一个类,用于加载一些sql脚本。我没有创建包装器,因为我必须处理
Dispose()
,因此该类从outside@Phate01你的连接有问题。除非真的需要,否则你不应该把它打开太久。请考虑这里的答案:一旦您使用“using(var c=newconnection())…”,您就不会有如何检查连接是否打开的问题。