1. 錯誤處理機制是什麼
錯誤處理機制用於設定節點執行失敗時的處理方式。
在工作流程執行過程中,節點可能因為請求失敗、權限不足、檔案不存在、欄位提取失敗、設定錯誤等原因出錯。透過錯誤處理機制,可以決定節點出錯後如何繼續處理,避免不必要地中斷整個工作流程。
不同節點支援的錯誤處理方式可能不同,具體以節點設定面板中顯示的選項為準。
2. 常見錯誤處理方式
多數支援錯誤處理的節點,會提供以下三種處理方式:
- 不做處理:節點執行出錯時,工作流程執行將中斷。
- 預設值:節點執行出錯時,工作流程繼續執行,並使用預先設定的預設值作為該節點輸出。
- 錯誤處理分支:節點執行出錯時,中斷當前路徑,並轉向已連接的錯誤處理分支。
3. 支援錯誤處理的節點
目前,以下節點支援錯誤處理機制:
- Flow Call
- Agent
- 大模型
- 知識庫檢索
- 知識聚焦大模型
- 檔案讀取
- 檔案寫入
- 檔案刪除
- HTTP 請求
- 文字模板
- 程式碼執行
- JSON 變數提取器
- 自然語意分類器
- 自然語意變數提取器
- 工具
- App
不同節點支援的錯誤處理方式可能不同,具體以節點設定面板中顯示的選項為準。
4. 預設值處理
當錯誤處理方式選擇 預設值 時,節點出錯後,工作流程不會立即中斷,而是會繼續執行,並使用設定的預設值替代該節點的輸出結果。
預設值設定項目會依該節點原本的輸出變數產生。也就是說,節點原本會輸出什麼變數,錯誤處理中的預設值設定通常就會對應這些輸出變數。
例如:
- 如果節點原本輸出 Text,則預設值設定中會出現 Text。
- 如果節點原本輸出 Result,則預設值設定中會出現 Result。
- 如果節點的輸出變數由使用者自訂,則預設值設定也會根據使用者已設定的輸出變數產生。
- 如果是工具或 App,預設值設定會根據該工具或 App 原本定義的輸出變數產生。
若某些預設值為非必填,未填寫時通常會輸出空字串,或忽略該輸出變數。具體以頁面提示為準。
5. 預設值生效範圍
以下節點在選擇 預設值 後,會提供 預設值生效範圍 設定:
- 檔案讀取節點
- JSON 變數提取器節點
這是因為這兩個節點都可能在一次執行中處理多個輸出項目,並出現「部分成功、部分失敗」的情況。
例如,檔案讀取節點可以在同一個節點中讀取多個檔案。如果其中某個檔案路徑錯誤或檔案不存在,可能只有該檔案讀取失敗,其他檔案仍可正常讀取。
JSON 變數提取器節點在提取多個欄位時,也可能出現某些欄位提取成功、某些欄位提取失敗的情況。
此時,可透過 預設值生效範圍 控制預設值的套用方式:
- 僅出錯項:只有失敗的項目使用預設值,成功的項目保留真實結果。
- 所有項:只要有任一項目失敗,所有項目都使用各自設定的預設值。
若希望盡量保留成功結果,建議選擇 僅出錯項。
6. 檔案寫入與檔案刪除的特殊錯誤處理
檔案寫入、檔案刪除這類操作型節點,與多數節點不同,通常不使用「預設值」替代輸出,而是透過 忽略錯誤 控制節點出錯後的處理方式。
當選擇 忽略錯誤 時,節點執行出錯後,工作流程會繼續執行。
若節點中設定了多個檔案,還可設定 忽略範圍:
- 僅出錯檔案:只忽略操作失敗的檔案,其他檔案仍正常處理。
- 整個節點:任一檔案操作失敗時,按整個節點忽略錯誤處理。
此機制適用於一個節點中同時寫入或刪除多個檔案的情境,可減少單個檔案失敗對整體流程的影響。
7. 循環節點的錯誤處理
循環節點有獨立的錯誤回應方法。
由於循環節點通常會處理多個元素,因此可能出現某個元素處理失敗,但其他元素仍可繼續處理的情況。
循環節點支援兩種錯誤回應方法:
- 錯誤時終止:出現異常時,終止循環節點,並輸出錯誤訊息。
- 移除錯誤輸出:忽略異常元素,繼續處理剩餘元素,最終輸出中只保留正常結果。
若不希望單一元素異常影響整個循環,可以選擇 移除錯誤輸出。
8. 不支援錯誤處理的節點
以下節點目前不提供錯誤處理設定:
- 進度更新
- 回復輸出
- 條件跳轉
- 分支聚合器
- 多分支選擇
- 互動表單
- 暫停與恢復
- 延遲
- 自動繼續
- 變數賦值
這些節點不會顯示「錯誤處理」設定項。
9. 使用建議
- 若節點出錯後不應該繼續執行,選擇 不做處理。
- 若希望工作流程繼續執行,並提供一個備援輸出,選擇 預設值。
- 若希望對錯誤進行單獨處理,例如發送提醒、記錄日誌或執行備用流程,選擇 錯誤處理分支。
- 若是檔案寫入、檔案刪除等操作型節點,並且希望部分失敗不影響後續流程,可以選擇 忽略錯誤。
- 若是循環節點,並且不希望單一元素異常影響整體結果,可以選擇 移除錯誤輸出。
發佈評論