extension events use new ExtensionError so that these errors don't make it into "normal" error telemetry (#236336)

* extension events use new `ExtensionError` so that these errors don't make it into "normal" error telemetry

fixes https://github.com/microsoft/vscode/issues/232914

* fix tests
This commit is contained in:
Johannes Rieken
2024-12-17 15:15:31 +01:00
committed by GitHub
parent 6997bee2ac
commit d162ceb7fe
4 changed files with 38 additions and 13 deletions

View File

@@ -14,7 +14,7 @@ import { TextEditorCursorStyle } from '../../../editor/common/config/editorOptio
import { score, targetsNotebooks } from '../../../editor/common/languageSelector.js';
import * as languageConfiguration from '../../../editor/common/languages/languageConfiguration.js';
import { OverviewRulerLane } from '../../../editor/common/model.js';
import { ExtensionIdentifierSet, IExtensionDescription } from '../../../platform/extensions/common/extensions.js';
import { ExtensionError, ExtensionIdentifierSet, IExtensionDescription } from '../../../platform/extensions/common/extensions.js';
import * as files from '../../../platform/files/common/files.js';
import { ServicesAccessor } from '../../../platform/instantiation/common/instantiation.js';
import { ILogService, ILoggerService, LogLevel } from '../../../platform/log/common/log.js';
@@ -245,8 +245,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
try {
listener.call(thisArgs, e);
} catch (err) {
errors.onUnexpectedExternalError(new Error(`[ExtensionListenerError] Extension '${extension.identifier.value}' FAILED to handle event: ${err.toString()}`, { cause: err }));
extHostTelemetry.onExtensionError(extension.identifier, err);
errors.onUnexpectedExternalError(new ExtensionError(extension.identifier, err, 'FAILED to handle event'));
}
});
disposables?.push(handle);