src/vs/workbench/contrib/debug/browser/rawDebugSession.ts/RawDebugSession/handleErrorResponse
class RawDebugSession:	private handleErrorResponse(errorResponse: DebugProtocol.Response): Error {

		if (errorResponse.command === 'canceled' && errorResponse.message === 'canceled') {
			return errors.canceled();
		}

		const error: DebugProtocol.Message | undefined = errorResponse?.body?.error;
		const errorMessage = errorResponse?.message || '';

		if (error && error.sendTelemetry) {
			const telemetryMessage = error ? formatPII(error.format, true, error.variables) : errorMessage;
			this.telemetryDebugProtocolErrorResponse(telemetryMessage);
		}

		const userMessage = error ? formatPII(error.format, false, error.variables) : errorMessage;
		const url = error?.url;
		if (error && url) {
			const label = error.urlLabel ? error.urlLabel : nls.localize('moreInfo', "More Info");
			return errors.createErrorWithActions(userMessage, {
				actions: [new Action('debug.moreInfo', label, undefined, true, async () => {
					this.openerService.open(URI.parse(url), { allowCommands: true });
				})]
			});
		}
		if (error && error.format && error.showUser) {
			this.notificationService.error(userMessage);
		}

		return new Error(userMessage);
	}