function disp_err_rethrow
% DISP_ERR_RETHROW - display error message and backtrace
%
% Author: Giso Grimm

% This file is part of the HörTech Open Master Hearing Aid (openMHA)
% Copyright © 2011 2013 2017 HörTech gGmbH
%
% openMHA is free software: you can redistribute it and/or modify
% it under the terms of the GNU Affero General Public License as published by
% the Free Software Foundation, version 3 of the License.
%
% openMHA is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU Affero General Public License, version 3 for more details.
%
% You should have received a copy of the GNU Affero General Public License, 
% version 3 along with openMHA.  If not, see <http://www.gnu.org/licenses/>.


  err = lasterror;
  errordlg(err.message);
  disp(err.message);
  for k=1:length(err.stack)
    disp(sprintf('%s:%d %s',...
                 err.stack(k).file,...
                 err.stack(k).line,...
                 err.stack(k).name));
  end
  rethrow(err);
