try-catch 异常处理
组件介绍
尝试执行操作并在发生错误时执行异常处理操作
截图
属性说明
必填项
属性名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
尝试次数 | 数字 | 1 | 必须为大于等于 1 的整数,不能为空,空则自动填 1 当尝试执行操作发生错误时,重新尝试执行,直到尝试次数用尽 如果仍然有错误,则执行异常处理操作 |
选填项
无
返回值
名称 | 类型 | 说明 |
---|---|---|
错误信息 | 字符串 | 执行时捕获到的错误异常信息 可用「输出日志」打印 |
组件示例
- 赋值:变量名 a,变量值 "1234"
- 计算文本长度:文本 a,返回值长度长度
- try-catch 异常处理:尝试次数 1,返回值错误信息错误信息
- if else 假如...否则: 值长度,规则条件大于,值 2,"——添加到 try 语句块下,可以理解为变量长度大于 2 时满足条件
- raise 抛出异常:异常信息 "长度大于2"——添加到 try 语句块及 if 条件下,满足长度大于 2 后 try 语句块中的组件不再继续执行,会直接跳转到 catch 语句块下,错误信息直接变为 "长度大于2"
- 输出日志:日志错误信息——添加到 catch 语句块下,长度大于 2 会运行到这里,错误信息变为长度大于2
- 赋值:变量名长度,变量值 2——长度大于 2 时则赋值长度为 2
- 输出日志:日志长度——添加到 finally 语句块下,输出长度信息
- 运行结果:计算变量 a 的长度,在长度大于 2 时重新赋值长度为 2 并定义报错信息为长度大于2
名词解析
- try 语句块:try 尝试执行语句块。
- catch 语句块:catch 发现错误则执行此语句块。
- finally 语句块:finally 无论是否出现错误都执行语句块,点击 catch 语句块后方的「添加 finally 」按钮后添加此语句块,此语句块可以删除。
try、catch、finally 语句块的执行情况可以细分为以下几种情况:
如果 try 语句块中没有拋出异常,则执行完 try 语句块下的组件之后直接执行 finally 语句块下组件(在已添加 finally 语句块情况下),然后执行 try、catch、finally 语句块之后的组件。
如果 try 语句块中拋出异常,并被 catch 语句块捕捉,那么在拋出异常的地方终止 try 语句块的执行,转而执行相匹配的 catch 语句块下组件,之后执行 finally 语句块下组件,并传递异常信息。
已添加 finally 语句块后无论 try 语句块组件是否正常执行,都会执行 finally 语句块中的组件。
注意事项
- 需要捕获报错信息的组件必须添加到此组件的 try 语句块下,并且组件的「运行失败后」必须选择「抛出异常信息」才能正常使用此组件,如果 try 语句块执行失败会将报错信息传递给此组件的错误信息返回值变量并执行 catch、finally 语句块。
- 「raise 抛出异常」组件可以添加到此组件的 try 语句模块下,可以自定义报错信息并且直接跳转到 catch 语句块下。