splitapply does not retain ME stack

20 visualizzazioni (ultimi 30 giorni)
Vasco
Vasco il 15 Gen 2026 alle 11:02
Commentato: Matt J il 15 Gen 2026 alle 13:33
When the function that splitapply throws an error, this line number of this error is not include in the output (matlab2024b)
Example:
T=table([1:3]');
G=findgroups(T);
splitapply(@fun, T, G);
function out = fun(varargin)
ERROR
end
This returns:
Error using splitapply>localsplitandapply (line 196)
Unable to apply the function 'fun' to the 1st group of data.
Error in splitapply (line 135)
varargout = localsplitandapply(fun,dataVars,gdiffed,sgnums,gdim,nargout);
Error in templateLoopOverAll (line 231)
splitapply(@fun, T, G);
Caused by:
Unrecognized function or variable 'ERROR'.
I was expeting that the line number that actually caused that error would be included:
Error in testfile>fun (line 5)
ERROR
Error in testfile (line 3)
fun()
Missing this information makes the debugging of fun very challenging.
How to retrieve this line number?
  1 Commento
Vasco
Vasco circa un'ora fa
I think that this data is removed in splitapply.m line 243.

Accedi per commentare.

Risposte (1)

Matt J
Matt J circa 6 ore fa
Modificato: Matt J circa 6 ore fa
Run with Pause on Errors.
Then the code will stop at the offending line:
  1 Commento
Matt J
Matt J circa 6 ore fa
Youc an also invoke Pause on Errors from the command line with,
>> dbstop if error

Accedi per commentare.

Categorie

Scopri di più su Text Data Preparation in Help Center e File Exchange

Prodotti


Release

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by