Fix issue where errors during project update were swallowed (#22612) (#22615)

* adding errors

* Fixing bug where errors occurring during updating project got swallowed

* removing unnecessary "vscode"
This commit is contained in:
Benjin Dubishar
2023-04-04 13:34:49 -07:00
committed by GitHub
parent 9f9d84b4ee
commit 11304d9090
2 changed files with 20 additions and 9 deletions

View File

@@ -298,12 +298,17 @@ export class ProjectsController {
argument: this.buildHelper.constructBuildArguments(project.projectFilePath, this.buildHelper.extensionBuildDirPath, project.sqlProjStyle) argument: this.buildHelper.constructBuildArguments(project.projectFilePath, this.buildHelper.extensionBuildDirPath, project.sqlProjStyle)
}; };
const crossPlatCompatible: boolean = await Project.checkPromptCrossPlatStatus(project, true /* blocking prompt */); try {
const crossPlatCompatible: boolean = await Project.checkPromptCrossPlatStatus(project, true /* blocking prompt */);
if (!crossPlatCompatible) { if (!crossPlatCompatible) {
// user rejected updating for cross-plat // user rejected updating for cross-plat
void vscode.window.showErrorMessage(constants.projectNeedsUpdatingForCrossPlat(project.projectFileName)); void vscode.window.showErrorMessage(constants.projectNeedsUpdatingForCrossPlat(project.projectFileName));
return '' return ''
}
} catch (error) {
void vscode.window.showErrorMessage(utils.getErrorMessage(error));
return '';
} }
try { try {

View File

@@ -184,11 +184,17 @@ export class Project implements ISqlProject {
} }
} else { } else {
// use "void" with a .then() to not block the UI thread while prompting the user // use "void" with a .then() to not block the UI thread while prompting the user
void window.showErrorMessage(constants.updateProjectForCrossPlatform(project.projectFileName), constants.yesString, constants.noString).then(async (result) => { void window.showErrorMessage(constants.updateProjectForCrossPlatform(project.projectFileName), constants.yesString, constants.noString).then(
if (result === constants.yesString) { async (result) => {
await project.updateProjectForCrossPlatform(); if (result === constants.yesString) {
try {
await project.updateProjectForCrossPlatform();
} catch (error) {
void window.showErrorMessage(utils.getErrorMessage(utils.getErrorMessage(error)));
}
}
} }
}); );
} }
return project.isCrossPlatformCompatible; return project.isCrossPlatformCompatible;