From b277a1a8a153945b22a96bcae3cdcf373da20819 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 27 Jul 2022 11:38:11 +0000 Subject: [PATCH 1/2] fix(@angular/cli): catch clause variable is not an Error instance Errors thrown in RxJs are not instanceof Error and therefore the check will always fail. Closes #23631 --- packages/angular/cli/src/utilities/error.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/src/utilities/error.ts b/packages/angular/cli/src/utilities/error.ts index 1e7644690f12..3b37aafc9dc3 100644 --- a/packages/angular/cli/src/utilities/error.ts +++ b/packages/angular/cli/src/utilities/error.ts @@ -9,5 +9,9 @@ import assert from 'assert'; export function assertIsError(value: unknown): asserts value is Error & { code?: string } { - assert(value instanceof Error, 'catch clause variable is not an Error instance'); + const isError = + value instanceof Error || + // The following is needing to identify errors coming from RxJs. + (typeof value === 'object' && value && 'name' in value && 'message' in value); + assert(isError, 'catch clause variable is not an Error instance'); } From 0df359a9a93551abd6c8ba5551268a504a53c155 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 27 Jul 2022 11:38:26 +0000 Subject: [PATCH 2/2] fix(@angular-devkit/build-angular): catch clause variable is not an Error instance Errors thrown in RxJs are not instanceof Error and therefore the check will always fail. Closes #23631 --- packages/angular_devkit/build_angular/src/utils/error.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/utils/error.ts b/packages/angular_devkit/build_angular/src/utils/error.ts index 1e7644690f12..3b37aafc9dc3 100644 --- a/packages/angular_devkit/build_angular/src/utils/error.ts +++ b/packages/angular_devkit/build_angular/src/utils/error.ts @@ -9,5 +9,9 @@ import assert from 'assert'; export function assertIsError(value: unknown): asserts value is Error & { code?: string } { - assert(value instanceof Error, 'catch clause variable is not an Error instance'); + const isError = + value instanceof Error || + // The following is needing to identify errors coming from RxJs. + (typeof value === 'object' && value && 'name' in value && 'message' in value); + assert(isError, 'catch clause variable is not an Error instance'); }