🧊异常
通常在LiteFlow组件里如果往外抛出异常,流程会中断。除了在并行编排中设置ignoreError
关键字以外。
往外抛出的异常会被最外层的执行器捕获,并被包装进LiteflowResponse
对象中。
你可以在LiteflowResponse
对象中通过以下方法来获取异常
LiteflowResponse response = flowExecutor.execute2Resp("chain1", 初始参数, CustomContext.class);
if (!response.isSuccess()){
Exception e = response.getCause();
}
如果你的业务中有获取异常Code的需求,则你自定义的异常需要实现LiteFlow提供的LiteFlowException
接口:
public class YourException extends LiteFlowException {
public YourException(String code, String message) {
super(code, message);
}
}
如果你的业务抛出了实现了LiteFlowException
接口的异常,你则可以在LiteflowResponse
中获得message和code信息:
LiteflowResponse response = flowExecutor.execute2Resp("chain1", 初始参数, CustomContext.class);
if (!response.isSuccess()){
Exception e = response.getCause();
String code = response.getCode();
String message = response.getMessage();
}
提示
如果你的异常没实现LiteFlowException
,code和message字段都为null。
帮助我们改善此文档 (opens new window)
上次更新: 2022/10/07, 00:22:18