Зона. js фиксирует ошибки, которые уже были перехвачены - PullRequest
0 голосов
/ 15 января 2020

У меня есть служба проверки в Angular с основным методом, который вызывает другие внутренние валидаторы. Если некоторые из них терпят неудачу, выдается Error, и основной метод перехватывает его. Например:

mainValidator(valueToValidate: any) {
    try {
        validator1(valueToValidate);
        validator2(valueToValidate);
        ...
        validatorN(valueToValidate);
    } catch (error) {
        validValuesSubject.error(error);
    }

    validValuesSubject.next(valueToValidate);
}

validatorX(valueToValidate: any) {
    if (isNotValid) {
        throw new Error('not valid because...');
    }
}

Проблема в том, что при вызове mainValidator в некоторых тестах, передающих недопустимое значение, библиотека zone.js фиксирует ошибку, несмотря на то, что я уже записываю ее с catch. Это приводит к ошибкам случайных тестов:

Uncaught Error: Not valid because... thrown

Как можно избежать зоны. js, чтобы быть в курсе этих внутренних ошибок?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...