(Удаленный) ответ Управления MEXCALLMATLAB к ошибкам
mexSetTrapFlag был удален. Используйте mexCallMATLABWithTrap вместо этого. Для получения дополнительной информации см. Вопросы совместимости.
#include "mex.h" void mexSetTrapFlag(int trapflag);
subroutine mexSetTrapFlag(trapflag) integer*4 trapflag
trapflagФлаг Control.
0 - При ошибке управление возвращается к подсказке MATLAB®.
1 - При ошибке управление возвращается к вашему файлу MEX.
Вызовите mexSetTrapFlag, чтобы управлять ответом MATLAB на ошибки в mexCallMATLAB.
Если вы не вызываете mexSetTrapFlag, то каждый раз, когда MATLAB обнаруживает ошибку в вызове mexCallMATLAB, MATLAB автоматически отключает файл MEX и возвращает управление в посдказку MATLAB. Вызов mexSetTrapFlag с набором trapflag к 0 эквивалентен не вызову mexSetTrapFlag вообще.
Если вы вызываете mexSetTrapFlag и устанавливаете trapflag на 1, то каждый раз, когда MATLAB обнаруживает ошибку в вызове mexCallMATLAB, MATLAB автоматически не отключает файл MEX. Скорее MATLAB возвращает управление в строку в файле MEX сразу после вызова mexCallMATLAB. Файл MEX затем ответственен за взятие соответствующего ответа на ошибку.
Если вы вызываете mexSetTrapFlag, значение trapflag, который вы устанавливаете, остается в силе до следующего вызова mexSetTrapFlag в том файле MEX или, если больше нет вызовов mexSetTrapFlag до выходов файла MEX. Если стандартная программа, заданная в файле MEX, вызывает другой файл MEX, MATLAB:
Сохраняет текущее значение trapflag в первом файле MEX.
Вызывает второй файл MEX с trapflag, инициализированным к 0 в том файле.
Восстанавливает сохраненное значение trapflag в первом файле MEX, когда второй файл MEX выходит.