Привет.
Не могу понять почему не перехватывает исключение.
Цель поймать исключение в методе numRemTemplate (весь стек ниже):
X++:
public static Integer numRemTemplate(Num _num, Num mask)
{
...
throw error(strfmt("@SYS25062",tmpNum, tmpTxt));
...
}
Поэтому в методе getSubProjId по стеку ниже создал исключение:
X++:
void getSubProjId()
{
...
try
{
...
sonNum = ProjTable::numRemTemplate(projFormat, format);
...
}
catch
{
throw error("error");
}
...
}
Но в данном методе не ловится исключение, оно срабатывает ниже по стеку в методе canClose:
X++:
catch (Exception::Error)
{
if (this.numberSeqFormHandler())
{
this.numberSeqFormHandler().formMethodClose();
}
okToCreateJob = false;
return checkfailed("@APM342");
}
Стек вызовов:
[s] \Data Dictionary\Tables\ProjTable\Methods\numRemTemplate 30
[s] \Classes\APMJobProjectMaintenance\getSubProjId 22
[s] \Classes\APMJobProjectMaintenance\createProject 61
[s] \Classes\APMJobProjectMaintenance\createNewJobProject 21
[s] \Data Dictionary\Tables\APMJobTableLine\Methods\insert 36
[c] \Classes\APMJobTableType\createJobLines 21
[c] \Classes\APMJobTableType\create 14
[c] \Forms\APMJobTableCreate\Methods\canClose 123
[c] \Classes\FormRun\closeOk
[c] \Classes\FormRun\task
[c] \Classes\SysSetupFormRun\task 27
Странно, вроде должен перехватывать исключение.