我想用数字1046捕获特定的mysql错误。
如果我使用MessageBox.Show显示错误号,则始终为0,无论它是哪个异常。例外不应该有像1046这样的数字吗?

catch (MySqlException mysqlex)
{
    MessageBox.Show(mysqlex.Number.ToString());
}


编辑:对不起,我正在使用MySQL连接器/网络。

最佳答案

您没有看到数字,因为您没有连接到数据库。
可能MySQL正在为错误异常分配数字。

如果查看Number属性here的描述,它会显示


  获取一个标识错误类型的数字。该编号对应于服务器错误代码和消息中给出的错误编号。


由于您未与服务器建立连接,因此无法获取服务器错误代码。

检查您的连接字符串。

09-29 22:14