【发布时间】:2016-11-11 15:59:44
【问题描述】:
我的 C# 程序使用 MySQL 数据库。
由于某些原因,程序无法捕获导致我的 MySQL 连接的异常。
例子:
如果我使连接字符串中的凭据无效,程序会像这样崩溃(即使在调试器中运行):http://imgur.com/SfzkVdW
连接代码是这样的:
using MySQLDriverCS;
namespace XXX
{
public class Data
{
private static MySQLConnection con;
static Data()
{
string connectionString = new MySQLConnectionString("XXX",
"XXX",
"XXX",
"XXX").AsString;
con = new MySQLConnection(connectionString + ";CharSet=utf8");
con.Open(); // For testing the connection
con.Close();
}
...
关于如何改进并开始捕获 MySQL 异常的任何想法?
我尝试将静态构造函数中的代码包装在 try-catch 中。那没有帮助。程序仍然以同样的方式崩溃。
谢谢。
与 try-catch 包装器相同的代码。它仍然失败并出现相同的错误:http://imgur.com/SfzkVdW
static Data()
{
try
{
string connectionString = new MySQLConnectionString("XXX",
"XXX",
"XXX",
"XXX").AsString;
con = new MySQLConnection(connectionString + ";CharSet=utf8");
con.Open(); // For testing the connection
con.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
【问题讨论】:
-
尝试只将连接字符串传递给 mysqlconnection 对象,而不是使用 mysqlconnectionstring 对象
-
“未捕获异常”,因为没有 try-catch 块。尝试添加try-catch块,可以看到错误。
-
我尝试将静态构造函数中的代码包装在 try-catch 中。那没有帮助。程序仍然以同样的方式崩溃。
-
您收到此错误是因为它正在运行托管并且未为非托管代码配置调试器。转到项目的属性并检查 Debug 和 Build 选项卡。您应该能够在那里启用非托管代码调试。
标签: c# mysql connection-string