Display the error containing line in .m file

6 Ansichten (letzte 30 Tage)
Horia
Horia am 2 Aug. 2011
Is there a method to display the error containing line in .m file, when the execution stops?
  1 Kommentar
Oleg Komarov
Oleg Komarov am 2 Aug. 2011
Your question sounds like:
How to pinpoint the line that errors in a "highlight some lines + F9"?

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Jan
Jan am 2 Aug. 2011
Perhaps you are looking for:
dbstop if error
or if you want to catch error inside TRY-CATCH also:
dbstop if all error
[EDITED]: In modern Matlab versions this is documented:
dbstop if caught error
Then the failing line is highlighted in the editor automatically.
  8 Kommentare
Oleg Komarov
Oleg Komarov am 2 Aug. 2011
Anyways: 'dbstop if all error' works nevertheles on 2011a
Horia
Horia am 3 Aug. 2011
But no longer appearing in "Help".

Melden Sie sich an, um zu kommentieren.


Fangjun Jiang
Fangjun Jiang am 2 Aug. 2011
It is usually indicated in the error message.
Also, help dbstack.
  5 Kommentare
Jan
Jan am 3 Aug. 2011
Under which circumstances does it (MATLAB?) show "error at" without a line number? Usually a line number is following.
Horia
Horia am 3 Aug. 2011
The line number in the function or library used by Matlab, but not the one in the .m file.

Melden Sie sich an, um zu kommentieren.


Paulo Silva
Paulo Silva am 2 Aug. 2011
After you get the error, execute this
l=lasterror;
fprintf('The last error was on line %d of the file called %s \n',...
l.stack.line,l.stack.name)
  1 Kommentar
Oleg Komarov
Oleg Komarov am 2 Aug. 2011
I get an empty stack if in a new .m file:
s = s(1)
l = lasterror

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Debugging and Analysis finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by