# MATLAB: Error logging, MException messages get truncated

catchdiaryerrorlogMATLABmexceptiontry

I'm running a lot of separate functions on a lot of datasets. It's very time consuming and quite prone to errors so I devised the following set up in my code so I can see where things went wrong afterwards. Since the errors may occur in a sub function of a subfuntion, I embedded a small loop that loops through the stack of the MException block. Since I'm working with diary, I tried to display all information possible into the command window so it gets picked up in the log file.
function allAnalyseslogfilename = strcat('Log allAnalyses.m_',datestr(now,'dd-mm-yy HHMM'));diary(logfilename)ticdisp(strcat('Log van alleAnalyses.m_',datestr(now,'dd-mm-yy HHMM')));try    disp('analysis_1');    analysis_1;  % the function to employcatch Error    warning('Error in analysis_1;')disp(Error);In_subfunction = Error.stack;        for i = 1:size(In_subfunction,1);            In_subfunction = Error.stack(i,:)        endReason = Error.cause end toc% etc, 20 more blocks like this. diary off
This results in text in the diary like:
Warning: Fout in analysis_1.m; > In allAnalyses (line 110)   MException with properties:      identifier: 'MATLAB:xlsread:FileNotFound'         message: 'XLSREAD unable to open file '\\xxx\tools\$\yyyy\Pro...'           cause: {0x1 cell}           stack: [1x1 struct]In_subfunction =       file: 'C:\Program Files\MATLAB\R2015a\toolbox\matlab\iofun\xlsread.m'      name: 'xlsread'      line: 128
The problem here lays with the truncation of the message within the MException. Off course I need to know which file XLSREAD wasn't able to open. So how do I approach this?

fprintf('   identifier: %s\n   message: %s\n', Error.identifier, Error.message);