因此, 客户端将使用 运行时包将传入的错误与堆栈信息包装在一起 ,并将其与任何其他元数据一起提交给 。这可以使用 包在任何地方完成,也可以在调用 时自动完成。 错误处理 将整理这些错误并尝试将它们分组,以便您可以看到相同的错误分组在一起。然后可以对这些组执行诸如 忽略 或 标记为已修复 之类的操作。 像这样构造堆栈跟踪对于对 的正常调用非常有效,但在尝试在发生错误的堆栈外部的代码部分中放置自动通知时就不够用了。
这是因为 中的默认分组按 个指标对错误进行分组:错误的 类型 ( 通常只是一个字符串),以及客户端发送的堆栈跟踪顶帧的文件位置。因此,之类的东西时,堆栈信息可能会丢失,并且所有错误似乎都源自此类处理程序中调用 的位置。 错误处理 现有错误策略的问题 考虑到这种情况,让我们看一下我们在使用现有 巴基斯坦 WhatsApp 号码列表 错误策略的 服务中遇到的一些常见问题。 处理程序返回错误 如前所述,生成的 接口期望返回响应消息,以及来自处理函数的错误。任何未使用 错误代码键入的错误都包含在 内部错误中,并被视为服务器错误。
在请求本身有错误的情况下,这可能是一个问题。一个示例可能是尝试检索不存在的记录、尝试执行不允许的操作或格式错误的请求正文。这些错误是由客户端引起的,因此将它们视为内部服务器错误并不意味着向客户端表明问题是他们的责任。 返回的错误也会传输回客户端,并可能导致意外泄露客户端无法访问的信息。 定制调用 通知 在缺少某种更高级别的自动错误处理代码的情况下,开发人员被迫在他们认为可能会遇到错误的时间点进行定制调用以通知 。 这种方法存在许多问题。首先,它是不一致的,您无法全面了解平台上发生的所有错误。错误只会记录在开发人员记得调用 的地方。