我正在尝试将错误记录到文件中,但我似乎无法在发生错误时运行catch块。以下是代码示例:
try
{
cmd.ExecuteNonQuery();
}
catch (MySQLException ex)
{
//run some logging code
}
finally
{
//clean up the resources
}
问题是当出现异常时,我从内置的web服务器抛出了一个未处理的异常错误。当我调试代码停止在异常时,然后继续到finally块。有人能指出我在正确的方向吗?
答案 0 :(得分:10)
ExecuteNonQuery()
会抛出SqlException
类型的异常。
所以我不确定MySQLException
是什么,但你需要抓住SqlException
。
请查看此信息以获取更多信息:
答案 1 :(得分:1)
抛出的异常似乎不是类型MySQLException
或从它派生的任何异常。所以catch块永远不会捕获它,finally块直接执行!
要检查引发的异常类型,请将代码修改为:
try
{
cmd.ExecuteNonQuery();
}
catch (MySQLException ex)
{
//run some logging code
}
catch (Exception ex)
{
// any other exception will be handled here
}
finally
{
//clean up the resources
}
答案 2 :(得分:0)
That method can throw different types of exceptions