# ERR

显示#ERR 的单元格表示该单元格无法正确执行其函数，通常是由于输入参数无效。#ERR 条件可能因多种原因而发生，有些是由于视觉应用程序的正常运行，有些是由于电子表格逻辑本身的错误。下面列出了一些常见的#ERR。

1. 基本数学错误：单元格 A4 = A3/A2。如果单元格 A2 的值等于 0，则单元格 A4 中的函数将生成被零除的错误。
2. 区域图形错误：区域移出图像。如果您使用 PatternMatch 工具来定位图像中的某些对象，然后使用结果数据来固定其他视觉工具的位置，则视觉工具的区域可能会移动到一个位置，从而导致该区域的一部分超出图像范围。发生这种情况时，视觉工具将报告#ERR，而不是返回有效的视觉工具结果结构。
3. “获取”函数失败：如果将 GetX 函数与 DetectBlobs 工具结合使用，Vision Tool 不会产生结果，在某些情况下 DetectBlobs 工具可能无法找到预期的斑点数量。如果发生这种情况，GetX 函数将在图像中找不到所需的斑点时报告 #ERR。

## #ERR 单元格故障排除

大多数 #ERR 条件返回错误字符串。要查看是否提供了错误字符串，只需将鼠标悬停在包含#ERR 的单元格上即可显示错误字符串。此外，如果属性表中出现红色感叹号，将鼠标悬停在其上会显示错误字符串。可以使用 GetErrorString 函数以编程方式返回错误字符串。每个错误字符串都有一个关联的诊断代码，该代码使用 GetErrorCode 函数返回。

## 如何覆盖 #ERR 以防止错误传播？

考虑这样一种情况：您可能想要计算 DetectBlobs 工具找到的多个斑点的区域总和。您使用 GetArea 函数从斑点结构中检索单个斑点的区域。如果未找到斑点，则 GetArea 函数将失败，但这可能是您的应用程序中的有效方案。

单元格 | 函数 | 说明
A1 | DetectBlobs([参数]) | 检测斑点并返回斑点结构
B1 | GetArea(A1,0) | 返回斑点 0 的面积
B2 | GetArea(A1,1) | 返回斑点 1 的面积
B3 | GetArea(A1,2) | 返回斑点 2 的面积
B4 | Sum(B1:B3) | 计算斑点区域的总和
如果 DetectBlobs 工具无法找到至少 3 个斑点，则公式 Sum(B1:B3) 将报告 #ERR，因为该公式引用的至少一个单元格也会报告 #ERR。要覆盖此错误条件，您可以使用 ErrFree 查找 函数。
B4 | Sum(ErrFree(B1:B3)) | 计算斑点区域的总和。

注意： 使用 ErrFree 函数时，来自其他报告 #ERR 的单元格的输入值将转换为值 0；在这种情况下，Sum 函数将为任何输入#ERR 单元格添加 0，而不是报告错误。