Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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# 如何处理DataSet.Designer.cs中的异常?_C#_Mysql_Database_Visual Studio_Visual Studio 2008 - Fatal编程技术网

C# 如何处理DataSet.Designer.cs中的异常?

C# 如何处理DataSet.Designer.cs中的异常?,c#,mysql,database,visual-studio,visual-studio-2008,C#,Mysql,Database,Visual Studio,Visual Studio 2008,我正在使用VisualStudio2008和C#访问MySql数据库。到目前为止,我一直依赖VisualStudio为数据集创建代码,这似乎给了我一个问题。如果数据库不可访问(即未运行),则会显示“MySqlException未处理”、“无法连接到任何指定的MySQL主机” 我的问题是,处理此异常的最佳方法是什么 我希望能够在不篡改designer.cs文件的情况下处理它,但是如果这不可能,那么任何解决方法都可以 [global::System.Diagnostics.DebuggerN

我正在使用VisualStudio2008和C#访问MySql数据库。到目前为止,我一直依赖VisualStudio为数据集创建代码,这似乎给了我一个问题。如果数据库不可访问(即未运行),则会显示“MySqlException未处理”、“无法连接到任何指定的MySQL主机”

我的问题是,处理此异常的最佳方法是什么

我希望能够在不篡改designer.cs文件的情况下处理它,但是如果这不可能,那么任何解决方法都可以

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
    [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)]
    public virtual int Fill(customerDataSet.addressesDataTable dataTable) {
        this.Adapter.SelectCommand = this.CommandCollection[0];
        if ((this.ClearBeforeFill == true)) {
            dataTable.Clear();
        }
// Exception occurs on the line below.
        int returnValue = this.Adapter.Fill(dataTable);
        return returnValue;
    }

在处理异常时,您应该在您想要对异常做出响应的最早时刻捕获异常。
数据集
对于处理数据库不可访问事件来说是一个糟糕的地方;如何通知应用程序的其余部分发生此错误

在您的情况下,您希望如何处理抛出的
MySqlException
?在大多数情况下,无法访问的数据库将是一个难以恢复的错误。您可能希望在当前进程中出现异常,只显示一条错误消息,或者您可能希望重新尝试该进程,或者您可能希望切换到另一个数据库


在我看来,您可能希望围绕异常的目的以及“抛出”机制存在的原因进行一些一般性的阅读。它们不仅仅是为了烦扰您编写try-catch块

你什么时候得到这个例外?在VisualStudioDesigner中?在你的代码里?如果您的代码中出现异常,请发布相关部分好吗?异常不会发生在文件中。方法是什么?我认为您在这方面做得很好,在使用数据集之前,我将研究如何测试connectionString。稍后将返回结果。我创建了一个单独的方法,尝试打开一个连接,如果连接失败,它将被捕获,并通过消息框告诉我连接失败而没有崩溃。它做了我需要它做的,所以谢谢你的帮助。