ssSetLocalErrorStatus

Сообщите об ошибке безопасным для потоков способом

Синтаксис

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.

Введенный в R2019a