MATLAB Answers

0

Is it possible to capture partial output in the case of an error during evalc?

Asked by Jesse Hopkins on 16 Jan 2012
Looking to see if it is possible to capture partial output from evalc if it never returns. Consider:
try
str = evalc('disp(''HERE''); error(''something bad happened''); disp(''NOW HERE'')');
catch ME
end
In the catch block, the variable "str" is not defined because evalc never returned. However, just before the error, we would've seen "HERE" displayed using plain "eval". Is there any way to get that information in the catch block with evalc?

  2 Comments

What do you need this functionality for? If you try to describe the general problem you want to solve we might come up with an alternative (and easier to debug, interpret, read) solution.
Hi, I know its been a while since I've commented on this, but I've been off doing other things and am now returning to this problem. The reason I need this functionality is that I'm trying to put together a testing framework that can operate in a "silent" mode, capturing all relevant output and figures to a report. I would like the report to include command line output of individual test cases. When a test case fails due to an error, any command line output that might have been captured via evalc is lost. I suppose that diary may be another method to try as well.

Sign in to comment.

Tags

Products

0 Answers