向导 JScript 文件中的错误处理
更新:2007 年 11 月
创建向导时,项目包含 Default.js 和 Common.js 文件。使用这些文件自定义项目。有关更多信息,请参见 JScript 文件。
项目应包含错误处理。下面的代码为您提供一个此类代码的示例。
在 JScript 中处理错误
若要在用户单击“完成”时捕捉错误,请输入以下代码:
function OnFinish(selProj, Class) { try { ..... } catch(e) { if (e.description.length != 0) SetErrorInfo(e.description, e.number); return e.number } }
从脚本中调用的任何 Helper 脚本函数引发 e:
function ExtenderFromType(strVariableType) { try { .... } catch(e) { throw e; } }
如果参数 PREPROCESS_FUNCTION 在 .vsz 文件中,向导调用 CanAddATLClass。失败时使用 SetErrorInfo 并返回 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; } }
如果必须返回到新建项目或添加新项对话框,则请返回到 VS_E_WIZBACKBUTTONPRESS:
function OnFinish(selProj, Class) { .... if (!CheckAddtoProject(selProj)) { return VS_E_WIZARDBACKBUTTONPRESS; } }