菜单
开源

错误代码

错误代码是唯一的数字,可用于更轻松地识别和处理不同的应用程序和网络错误。目前,这些错误代码仅适用于 HTTP 请求期间发生的错误,但未来版本的 k6 将重用和扩展它们以支持其他协议。

发生错误时,将确定其代码并作为 http.Response 对象的 error_code 字段返回,同时还作为 error_code 标签 附加到与该请求关联的任何指标。此外,为了获得更多详细信息,error 指标标签和 http.Response 字段仍将包含实际的字符串错误消息。

不同错误的错误代码尽可能不同,但为了更轻松地处理和分组,不同错误类别的代码也按大致范围分组。当前错误代码范围为

  • 1000-1099 - 通用错误
  • 1100-1199 - DNS 错误
  • 1200-1299 - TCP 错误
  • 1300-1399 - TLS 错误
  • 1400-1499 - HTTP 4xx 错误
  • 1500-1599 - HTTP 5xx 错误
  • 1600-1699 - HTTP/2 特定错误

当前定义了以下特定的错误代码

  • 1000:非以下任何一种的通用错误。
  • 1010:非 TCP 网络错误 - 这是占位符,目前没有已知错误会触发它。
  • 1020:指定的 URL 无效。
  • 1050:HTTP 请求已超时。
  • 1100:非以下任何一种的通用 DNS 错误。
  • 1101:未找到提供主机名的 IP 地址。
  • 1110:已解析到黑名单 IP 或尝试连接到此类 IP。
  • 1111:使用 Block Hostnames 选项阻止的主机名。
  • 1200:非以下任何一种的通用 TCP 错误。
  • 1201:写入时出现“broken pipe” - 对端很可能已关闭连接。
  • 1202:未知 TCP 错误 - 我们收到一个无法识别的错误,但它来自操作系统且设置了 errnoerror 中的消息包括操作(写入、读取)和 errno、操作系统以及错误的原始消息。
  • 1210:通用 TCP 拨号错误。
  • 1211:拨号超时错误 - 达到拨号超时。
  • 1212:拨号连接被拒绝 - 拨号时连接被对端拒绝。
  • 1213:拨号未知错误。
  • 1220:对端重置 - 连接被对端(最可能是服务器)重置。
  • 1300:通用 TLS 错误
  • 1310:未知颁发机构 - 证书颁发者未知。
  • 1311:证书与主机名不匹配。
  • 1400 到 1499:对应于HTTP 4xx 客户端错误状态码的错误代码
  • 1500 到 1599:对应于HTTP 5xx 服务器错误状态码的错误代码
  • 1600:非以下任何一种的通用 HTTP/2 错误。
  • 1610:通用 HTTP/2 GoAway 错误。
  • 1611 到 1629:HTTP/2 GoAway 错误,其中特定HTTP/2 错误代码的值加 1611。
  • 1630:通用 HTTP/2 流错误。
  • 1631 到 1649:HTTP/2 流错误,其中特定HTTP/2 错误代码的值加 1631。
  • 1650:通用 HTTP/2 连接错误。
  • 1651 到 1669:HTTP/2 连接错误,其中特定HTTP/2 错误代码的值加 1651。
  • 1701:解压错误。