循环内调用 Storageable 在连续错误多次后会导致整个循环卡起。 返回
现象为,在循环内调用,使用Storageable 插入或更新数据的方法,即使整个方法加了try-catch,在错误多次后依然会导致整个循环停止。
伪代码
for (int count = 0; count < 100000; count++) {
Test(new Model(){...}); }
void Test(Modle modle){
try
{
using var db = SqlSugarContext.NewDefaultClient();
db.Storageable(modle).ExecuteCommand();
}
catch (Exception ex)
{
_logger.LogError(ex, "出现错误");
}
}
在执行 db.Storageable(modle).ExecuteCommand() 时,如果连续出现多次错误,整个循环就停止了。
热忱回答(5)
-
fate sta VIP0
2周前不会的。除非你catch里面报错了。才会停止。
0 回复 -
LDMING VIP0
2周前
0 回复 -
LDMING VIP0
2周前catch 里只有一个 JsonHelper.TrySerializer 和一个打印日志的语句,从命名就可以看出,JsonHelper.TrySerializer内部是全try-catch包裹的
0 回复 -
LDMING VIP0
2周前从打印日志就可以看到,try-catch 捕获了异常,但后面的“Microsoft. Data.SqlClient.SqlException(Ox80131904):将float转换为数据类型mumeric时出现算术溢出错误” 好像没被捕获到
0 回复 -
fate sta VIP0
2周前@LDMING:
_logger.LogError(ex, ex.Message);
0 回复