Error Handling in Wizard JScript Files
When you create a wizard, your project includes the Default.js and Common.js files. Use these files to customize your project. See The JScript File for more information.
Your project should include error handling. The following code provides you with an example of such code.
To handle errors in JScript
To catch errors when the user clicks Finish, enter the following code:
function OnFinish(selProj, Class) { try { ..... } catch(e) { if (e.description.length != 0) SetErrorInfo(e.description, e.number); return e.number } }
Throw e from any helper script functions called in the script:
function ExtenderFromType(strVariableType) { try { .... } catch(e) { throw e; } }
If the parameter PREPROCESS_FUNCTION is in the .vsz file, the wizard calls CanAddATLClass. Use SetErrorInfo in case of failure and return false:
function CanAddATLClass(oProj, oObject) { try { if (!IsATLProject(oProj)) { if (!IsMFCProject(oProj, true)) { var L_CanAddATLClass_Text = "ATL classes can only be added to ATL, MFC EXE and MFC regular DLL projects."; wizard.ReportError(L_CanAddATLClass_Text); return false; } else { ..... var bRet = AddATLSupportToProject(oProj); ..... return bRet; } } return true; } catch(e) { throw e; } }
If you must go back to the New Project or Add New Item dialog box, return VS_E_WIZBACKBUTTONPRESS:
function OnFinish(selProj, Class) { .... if (!CheckAddtoProject(selProj)) { return VS_E_WIZARDBACKBUTTONPRESS; } }