Matlab engine eval: should I use the exception message or the error stream content ?

4 次查看(过去 30 天)
Hello,
When I use the Matlab engine eval, I can provide output and error streams. But the eval() can also throw exceptions, which contains error messages:
Then which one should I use: the exception message or the error stream ?
Moreover, if something is returned in the error stream, is it always an error ? or warnings can also appear in this stream ?
Many thanks !

采纳的回答

Pranav Verma
Pranav Verma 2021-1-13
Hi Felix,
The eval function in matlab::engine::MATLABEngine takes three parameters as input,
void eval(const matlab::engine::String &statement,
const std::shared_ptr<matlab::engine::StreamBuffer> &output = std::shared_ptr<matlab::engine::StreamBuffer> (),
const std::shared_ptr<matlab::engine::StreamBuffer> &error = std::shared_ptr<matlab::engine::StreamBuffer> ())
  • 1st parameter is the MATLAB statement to evaluate
  • 2nd parameter is the stream buffer for storing the output of the MATLAB statement
  • 3rd parameter is the stream buffer for storing the error message from the MATLAB statement
You can use the error stream as it contains the error thrown by the MATLAB statement in case it fails. The error stream contains the error thrown by the MATLAB statement and not the warnings.
The matlab::engine::MATLABEngine documentation explains well about the exceptions and output/error streams in eval function along with several other functions used to evaluate MATLAB code.
Thanks

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Call MATLAB from C 的更多信息

产品


版本

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by