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

4 vues (au cours des 30 derniers jours)
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 !

Réponse acceptée

Pranav Verma
Pranav Verma le 13 Jan 2021
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

Plus de réponses (0)

Catégories

En savoir plus sur Call MATLAB from C dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by