我想在查询中发现它会抛出错误。下面是代码
try{
if (list1 != null)
{
foreach (cca item in list1)
{
db.CCAs.InsertOnSubmit(item);
}
}
if (list2 != null)
{
foreach (cca1 item1 in list2)
{
db.CCAs1.InsertOnSubmit(item1);
}
}
db.SubmitChanges();
}
catch
{
}
在catch中,我想得到哪个查询抛出错误。我想只检索受影响的查询。
答案 0 :(得分:1)
在您的情况下,您可以将保存操作划分为:
try
{
if (list1 != null)
{
foreach (cca item in list1)
{
db.CCAs.InsertOnSubmit(item);
}
db.SubmitChanges();
}
}
catch
{
//write error into log
}
try
{
if (list2 != null)
{
foreach (cca1 item1 in list2)
{
db.CCAs1.InsertOnSubmit(item1);
}
db.SubmitChanges();
}
}
catch
{
//write error into log
}
现在,您需要2个db调用,但它可以轻松处理异常。
<强> UPD 强> 我不确定,但你可以在你的阻止块中尝试这样:
catch (YourExpectedExceptionType ex)
{
//write into log for e.g
_log.Write(ex.InnerExeption);
_log.Write(ex.Source);
}