0

我使用 javascript api 的 updateByQuery 更新我的文档

  const res = await this.elastic.update({
  index: MY_INDEX,
  type: MY_TYPE,
  id: MY_ID,
  _source: true,
  body: {
    script: {
      source: `
        // stuff
      `,
    },
  };
}

如何抛出或设置自定义错误消息,以便在阅读响应时知道它失败的原因?

4

1 回答 1

2

只需抛出一个异常

throw new Exception('your custom message here');

无痛脚本中的任何位置。

然后使用 try catch 捕获错误。

// body must be in async function to use await + try catch
const fn = async () => {
  try {
    const res = await this.elastic.update({
    index: MY_INDEX,
    type: MY_TYPE,
    id: MY_ID,
    _source: true,
    body: {
      script: {
        source: `
          // stuff
          throw new Exception('your message here');
          // stuff
      `,
      },
    };
  } catch (e) {
    // logs 'your message here'
    console.log(e.body.error.caused_by.caused_by.reason);
  }
}
于 2018-12-22T03:31:19.243 回答