Как «выкинуть» пользовательские сообщения об ошибках в updateByQuery эластика - PullRequest
0 голосов
/ 21 декабря 2018

Я обновляю свои документы с помощью updateByQuery API javascript, используя

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

Как я могу генерировать или устанавливать пользовательские сообщения об ошибках, чтобы при чтении ответа я знал, почему он не прошел?

1 Ответ

0 голосов
/ 22 декабря 2018

Просто сгенерируйте исключение с

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);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...