diff --git a/extensions/sql-database-projects/src/controllers/projectController.ts b/extensions/sql-database-projects/src/controllers/projectController.ts index c394d3a0f9..6d0a24e0cc 100644 --- a/extensions/sql-database-projects/src/controllers/projectController.ts +++ b/extensions/sql-database-projects/src/controllers/projectController.ts @@ -298,12 +298,17 @@ export class ProjectsController { 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) { - // user rejected updating for cross-plat - void vscode.window.showErrorMessage(constants.projectNeedsUpdatingForCrossPlat(project.projectFileName)); - return '' + if (!crossPlatCompatible) { + // user rejected updating for cross-plat + void vscode.window.showErrorMessage(constants.projectNeedsUpdatingForCrossPlat(project.projectFileName)); + return '' + } + } catch (error) { + void vscode.window.showErrorMessage(utils.getErrorMessage(error)); + return ''; } try { diff --git a/extensions/sql-database-projects/src/models/project.ts b/extensions/sql-database-projects/src/models/project.ts index 6ecbbbdda1..ac867f62ee 100644 --- a/extensions/sql-database-projects/src/models/project.ts +++ b/extensions/sql-database-projects/src/models/project.ts @@ -184,11 +184,17 @@ export class Project implements ISqlProject { } } else { // 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) => { - if (result === constants.yesString) { - await project.updateProjectForCrossPlatform(); + void window.showErrorMessage(constants.updateProjectForCrossPlatform(project.projectFileName), constants.yesString, constants.noString).then( + async (result) => { + if (result === constants.yesString) { + try { + await project.updateProjectForCrossPlatform(); + } catch (error) { + void window.showErrorMessage(utils.getErrorMessage(utils.getErrorMessage(error))); + } + } } - }); + ); } return project.isCrossPlatformCompatible;