Add simple error handling to external API usage extraction

This commit is contained in:
Koen Vlaswinkel
2023-04-05 11:33:00 +02:00
parent e37da4f6a4
commit d9b362ddff

View File

@@ -11,10 +11,15 @@ import { qlpackOfDatabase } from "../contextual/queryResolver";
import { file } from "tmp-promise";
import { writeFile } from "fs-extra";
import { dump } from "js-yaml";
import { getOnDiskWorkspaceFolders } from "../helpers";
import {
getOnDiskWorkspaceFolders,
showAndLogExceptionWithTelemetry,
} from "../helpers";
import { DatabaseItem } from "../local-databases";
import { CodeQLCliServer } from "../cli";
import { decodeBqrsToExternalApiUsages } from "./bqrs";
import { redactableError } from "../pure/errors";
import { asError, getErrorMessage } from "../pure/helpers-pure";
export class DataExtensionsEditorView extends AbstractWebview<
ToDataExtensionsEditorMessage,
@@ -71,6 +76,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
}
protected async loadExternalApiUsages(): Promise<void> {
try {
const queryResult = await this.runQuery();
if (!queryResult) {
await this.clearProgress();
@@ -105,6 +111,13 @@ export class DataExtensionsEditorView extends AbstractWebview<
});
await this.clearProgress();
} catch (err) {
void showAndLogExceptionWithTelemetry(
redactableError(
asError(err),
)`Failed to load external APi usages: ${getErrorMessage(err)}`,
);
}
}
private async runQuery(): Promise<CoreCompletedQuery | undefined> {