From f152032bb722643fedc2e0eaee4d3f675b1efd79 Mon Sep 17 00:00:00 2001 From: Logan Ramos Date: Tue, 16 Aug 2022 09:35:34 -0400 Subject: [PATCH] Have FileSystemError adopt ErrorNoTelemetry (#155885) * Cleanup FileSystemErrors * Implement the naive solution * hm? Co-authored-by: Benjamin Pasero --- src/vs/base/common/errors.ts | 4 ++-- src/vs/platform/telemetry/common/errorTelemetry.ts | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/vs/base/common/errors.ts b/src/vs/base/common/errors.ts index 9ea8d9f394e24..44b25af9e3abd 100644 --- a/src/vs/base/common/errors.ts +++ b/src/vs/base/common/errors.ts @@ -243,7 +243,7 @@ export class ErrorNoTelemetry extends Error { constructor(msg?: string) { super(msg); - this.name = 'ErrorNoTelemetry'; + this.name = 'CodeExpectedError'; } public static fromError(err: Error): ErrorNoTelemetry { @@ -258,7 +258,7 @@ export class ErrorNoTelemetry extends Error { } public static isErrorNoTelemetry(err: Error): err is ErrorNoTelemetry { - return err.name === 'ErrorNoTelemetry'; + return err.name === 'CodeExpectedError'; } } diff --git a/src/vs/platform/telemetry/common/errorTelemetry.ts b/src/vs/platform/telemetry/common/errorTelemetry.ts index fdf8b49601fdd..4865754e9ca9f 100644 --- a/src/vs/platform/telemetry/common/errorTelemetry.ts +++ b/src/vs/platform/telemetry/common/errorTelemetry.ts @@ -7,6 +7,7 @@ import { binarySearch } from 'vs/base/common/arrays'; import { errorHandler, ErrorNoTelemetry } from 'vs/base/common/errors'; import { DisposableStore, toDisposable } from 'vs/base/common/lifecycle'; import { safeStringify } from 'vs/base/common/objects'; +import { FileOperationError } from 'vs/platform/files/common/files'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; type ErrorEventFragment = { @@ -87,7 +88,8 @@ export default abstract class BaseErrorTelemetry { } // If it's the no telemetry error it doesn't get logged - if (ErrorNoTelemetry.isErrorNoTelemetry(err)) { + // TOOD @lramos15 hacking in FileOperation error because it's too messy to adopt ErrorNoTelemetry. A better solution should be found + if (ErrorNoTelemetry.isErrorNoTelemetry(err) || err instanceof FileOperationError) { return; }