【发布时间】:2014-07-26 02:36:22
【问题描述】:
我有以下代码:
protected void ExecuteInTransaction(Action action)
{
using (SQLiteTransaction transaction = connection.BeginTransaction())
{
try
{
action.Invoke();
transaction.Commit();
}
catch(Exception)
{
transaction.Rollback();
throw;
}
}
}
在测试这个类时,我设法抛出了一个异常来测试catch 分支。
由于我处于调试模式,我继续执行这个抛出,以查看调用类如何处理它,但从不例外方法抛出,相反,它就像异常不断地被抛出和捕获,再次抛出和捕获,永远不会退出函数。
在Release模式下,应用程序冻结并停止工作:
有人知道为什么会发生这种情况,我该如何避免?
提前致谢!
【问题讨论】:
-
捕获 SQL 特定异常并打印出消息并将回滚包装在 try catch 中
标签: c# .net sqlite exception exception-handling