Сообщите об ошибке безопасным для потоков способом
void ssSetLocalErrorStatus(SimStruct *S, const char_T *msg)
S
SimStruct, представляющий блок S-Function или Simulink® модель.
msg
Сообщение об ошибке.
Используйте эту функцию для безопасного для потоков сообщения об ошибках, возникающих в вашей S-функции. Для примера:
ssSetLocalErrorStatus(S, "error message"); return;
Примечание
Сообщение об ошибке вектора символов должно находиться в постоянной памяти; это не может быть локальная переменная. Если вы используете sprintf
для форматирования сообщения об ошибке необходимо выделить память для сообщения. Для примера:
static char msg[35]; sprintf(msg,"Expected number of parameters: %d",ssGetNumSFcnParams(S)); ssSetLocalErrorStatus(S,msg);
Эта функция заставляет механизм Simulink остановиться и отобразить указанное сообщение об ошибке, поэтому за ним следует return
оператор. Функция не генерирует исключение. Таким образом, вы можете использовать его в своей S-функции, чтобы избежать создания исключений при сообщении об ошибках.
Используйте эту функцию для приложений, чтобы запустить R2019a или более позднюю версию для безопасности потоков. Для более ранних релизов используйте ssSetErrorStatus
вместо этого.
C, C++
Смотрите S-функцию slexCoSimMassSpringSFcn.c
используется в slexCoSimTripleMassSpringExample
.