本文主要是介绍MuleSoft知识总结-22.Mule组件,错误处理(Try,On Error Continue,On Error Propagate),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- Try
- On Error Continue
- On Error Propagate
前言
在《MuleSoft自学分享-21.Mule组件(Until Successful)》我们尝试使用Until Successful组件,在Request请求失败时以一定间隔时间重新发送请求(请求成功时不会调用)。同时我们产生了一个新的问题——如何捕获错误,其实在导入Design Center所设计的接口时就已经生成了一些捕捉错误的组件了。但有时我们也需要自己添加错误捕捉组件。
自动生成的错误捕捉组件:
名称 | 作用 |
---|---|
Try | Try作用域捕获并处理放置在其中任何发生错误的组件 |
On Error Continue | 这个组件允许在发生错误后继续执行其他组件 |
On Error Propagate | 这个组件在发生错误后将抛出错误,并不再执行之后的组件 |
Try
- 在Core工具栏中选择Try组件,放入employeeapi-Choice_Flow中。
- 在Core工具栏中选择On Error Continue组件,放到Try组件的Error handling中。在Type中选择Any。
- 将Transform Message组件放入On Error Continue中。在Output Payload中写入
%dw 2.0
output application/json
---
{"Message":"Request Error"
}
- 使用Debug模式,使用PostMan发送请求。发生错误。
On Error Continue
-
On Error Continue组件捕捉到错误。
-
捕捉到错误后并未直接抛出错误,而是继续执行流程,此时Transform Message组件已经将值写入Payload中。
-
程序向下执行,在处理员工信息的Transform Message组件中报错,因为组件无法接受{“Message”:“Request Error”}格式的信息。
-
返回值信息如下:
On Error Propagate
- 其他内容一切不变,将On Error Continue组件替换为On Error Propagate组件再次测试。
- Request发生错误
- On Error Propagate组件抛出错误,不再继续执行流程。
- 返回值:
这篇关于MuleSoft知识总结-22.Mule组件,错误处理(Try,On Error Continue,On Error Propagate)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!