一看就会,超有用活字格技能:二百零七、循环命令中出错如何继续循环
本帖最后由 Lay.Li 于 2024-9-11 14:46 编辑大家好啊,今天给大家带来的是循环命令中出错如何继续执行循环
问题的背景是这样的,用户想在服务端命令使用循环命令,循环执行sql命令去插入数据
发现,如果循环的数据中有一条数据内容有问题,比如要插入的字段是整数类型,内容却是"A"这样的文本。这样命令执行时就会报错,造成整个服务端命令终止。
但是用户的需求是,如果有问题的数据,可以不用插入,直接跳过插入,但是服务端命令得继续执行,继续将后续的数据插入,这个要怎么实现呢。
这个的话就是我们今天要介绍的一个小技巧,使用异常捕获命令去自行处理一下报错,达成上面的需求。
首先,给大家解释一下,这里出错后服务端命令之所以会终止执行,是因为执行sql命令返回了一个返回码为500,返回信息为"执行SQL命令调用失败,转换参数类型失败,无法将参数“number”的值 A 转换为类型 Int64"的信息。导致命令执行终止,
所以我们这里可以将执行sql命令放到另外一个服务端命令中,使用异常捕获命令包装一下。捕获一下这个错误,在catch命令中返回一下返回码为0的错误信息,告知插入失败,但是不终止命令服务端命令的执行(如果需要子命令逻辑发生错误回退的话,可以使用在try命令中使用事务命令封装)
这样我们就可以实现上述效果了:jy74a:
页:
[1]