捕获特定的mysql错误(c#)
本文关键字:错误 mysql | 更新日期: 2023-09-27 17:50:55
是否有办法捕获一个特定的MySQL错误或多个特定的MySQL错误?如果错误是"no selected database",我想调用一个方法。
我正在使用MySQL-Connector/Net。
在异常的catch
子句中,您应该能够检查异常的Number
属性以确定抛出的是哪个MySql异常。例如:
try
{
//Blah
}
catch (MySqlException ex)
{
if (ex.Number == 1046)
{
//Handle
}
throw;
}
catch (OtherExceptionType oet)
{
//Handle
}
如果你正在使用c# 6.0,你可以使用异常过滤器。
try
{
//Blah
}
catch (MySqlException ex) when (ex.Number == 1046)
{
// Handle
}
catch (OtherExceptionType oet)
{
//Handle
}
根据文档,"no database selected"的错误编号为1046。这里还列出了其他错误编号