Благодаря малату. Ваш комментарий помог мне.
Но я хочу добавить свой блок try-catch, так как я нашел MExeption
метод getReport()
, который возвращает сообщение об ошибке целиком и выводит его на консоль matlab.
Кроме того, я напечатал имя файла, так как эта компиляция является частью пакетного скрипта, который вызывает matlab.
try
some_code
...
catch message
display(['ERROR in file: ' message.stack.file])
display(['ERROR: ' getReport(message)])
end;
Для ложного имени модели, переданного в устаревший метод генерации кода, вывод будет выглядеть следующим образом:
ERROR in file: C:\..\..\..
ERROR: Undefined function or variable 'modelname'.
Error in sub-m-file (line 63)
legacy_code( 'slblock_generate', specs, modelname);
Error in m-file (line 11)
sub-m-file
Error in run (line 63)
evalin('caller', [script ';']);
Наконец, чтобы отобразить вывод в окне командной строки Windows, просто зарегистрируйте консоль matlab в файле с помощью -logfile logfile.txt
(используйте дополнительно -wait
) и вызовите пакетную команду type logfile.txt