跳到主内容

应用插件中的错误处理

本指南解释了如何在应用插件中处理错误。

提供可用的默认值

让用户循序渐进地学习你的插件。提供一个有用的默认配置,这样

  • 用户可以立即开始使用。
  • 你可以避免不必要的错误消息。

例如,通过选择预期类型的第一个字段,面板可以在没有任何用户配置的情况下显示可视化效果。如果用户明确选择了一个字段,则使用该字段。否则,默认为类型为 string 的第一个字段

const numberField = frame.fields.find((field) =>
options.numberFieldName ? field.name === options.numberFieldName : field.type === FieldType.number
);

显示错误消息

要向用户显示错误消息,请 throw 一个包含要显示消息的 Error

throw new Error('An error occurred');

Grafana 在面板的左上角显示错误消息

Panel error.
面板错误。

我们建议你避免向用户显示过于技术的错误消息。如果你想让技术用户报告错误,可以考虑将其记录到控制台。

try {
failingFunction();
} catch (err) {
console.error(err);
throw new Error('Something went wrong');
}
注意

Grafana 按原样在 UI 中显示异常消息,因此请使用语法正确的句子。更多信息,请参阅文档风格指南

另请参阅

如果你的应用插件捆绑了其他插件类型,请参阅以下错误处理指南:

有关向用户显示警报的通用指南,请参阅Saga 设计系统