обнаружение ошибки, влияющей на оценку объекта - PullRequest
1 голос
/ 16 марта 2020

У меня есть такая структура кода:

class CustomError {
  constructor(status, error = null, message = null) {
    this.status = status;
    this.error = error;
    this.message = message;
  }
}

const foo = async function() {
  throw new CustomError('foo error');
}

const bar = async function() {
  try {
    foo();
  } catch (error) {
    if (error instanceof CustomError) {
      throw error;
    }
    throw new CustomError('bar error');
  }
}

bar();

Это выдает ошибку бара.

Я поместил это перед оператором if: console.log(error instanceof CustomError, error), который записывает:

false
CustomError {status: "foo", message: null, error: null}

, это кажется противоречивым. Если он регистрирует error как CustomError, он не должен error instanceof CustomError возвращать true?

...