> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/error-handling.md).

# 在 Duaer 里妥善处理错误

在 Duaer 里设计数字组织时，预先考虑失败，并决定失败后怎么告警或改道。
## 怎么设置错误数字组织

每条数字组织都可以在设置里指定一条错误数字组织。生产执行失败时它会跑起来，例如发邮件或发消息。错误数字组织必须以 Error Trigger 开头。多条数字组织可以共用同一条错误数字组织。

1. 新建一条数字组织，第一个节点用 Error Trigger。
2. 保存，并起一个好认的名字，例如 Error Handler。
3. 打开需要保护的那条数字组织：Options → Settings。
4. 在 Error workflow 里选中刚建的那条，再保存。之后这条数字组织在生产执行中失败时，错误数字组织会启动。

手动在画布上试跑失败，不会启动 Error Trigger。节点上的 On Error（停住、继续、或走错误出口）管的是这一步失败时本条数字组织内部怎么走，和错误数字组织是两层。

## 错误数字组织收到什么

Error Trigger 默认收到的数据类似：

```
[
	{
		"execution": {
			"id": "231",
			"url": "https://duaer.example.com/execution/231",
			"retryOf": "34",
			"error": {
				"message": "Example Error Message",
				"stack": "Stacktrace"
			},
			"lastNodeExecuted": "Node With Error",
			"mode": "manual"
		},
		"workflow": {
			"id": "1",
			"name": "Example digital organization"
		}
	}
]
```

除下列字段外，其余信息一般都会有：execution.id 与 execution.url 需要执行已写入数据库；触发节点本身失败时可能没有这两项。execution.retryOf 只在这次执行是对失败执行的重试时出现。

要用 Stop and Error 主动把执行判失败并触发错误数字组织。Retry On Fail 只是同一节点再试几次，解决短暂故障，不是另一条错误数字组织。
## Questions

### Duaer 里怎么给数字组织接上错误处理？

新建一条以 Error Trigger 开头的数字组织，在目标数字组织的 Settings → Error workflow 里选中它。仅生产执行失败会触发；手动试跑失败不会。节点上的 On Error 管本条运行内部路径，与错误数字组织是两层。

### Duaer 的 Retry On Fail 和错误数字组织一样吗？

不一样。Retry On Fail 是同一节点再试几次。错误数字组织是另一条流程，在生产执行已经失败之后启动。

