У меня есть такая структура кода:
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
?