print_info.m: Fix bug in error handling
get_error_message.m needs to always provide the error string, only throwing out the error message needs to depend on noprint Closes https://git.dynare.org/Dynare/dynare/issues/1714time-shift
parent
debae9c46f
commit
b7ef2181f9
|
@ -461,7 +461,7 @@ if iload <=0
|
|||
identification_analysis(params, indpmodel, indpstderr, indpcorr, options_ident, dataset_info, prior_exist, 1); %the 1 at the end implies initialization of persistent variables
|
||||
if info(1)~=0
|
||||
% there are errors in the solution algorithm
|
||||
message = get_error_message(info,0,options_);
|
||||
message = get_error_message(info,options_);
|
||||
fprintf('-----------\n');
|
||||
fprintf('The model does not solve for %s (info = %d: %s)\n', parameters, info(1), message);
|
||||
fprintf('-----------\n');
|
||||
|
|
|
@ -59,7 +59,7 @@ function disp_info_error_identification_perturbation(info,j)
|
|||
% there are errors in the solution algorithm
|
||||
probl_par = get_the_name(j,varargin{5}.TeX,varargin{3},varargin{2},varargin{5});
|
||||
skipline()
|
||||
message = get_error_message(info,0,varargin{5});
|
||||
message = get_error_message(info,varargin{5});
|
||||
fprintf('Parameter error in numerical two-sided difference method:\n')
|
||||
fprintf('Cannot solve the model for %s (info = %d, %s)\n', probl_par, info(1), message);
|
||||
fprintf('Possible solutions:\n')
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
function message = get_error_message(info, noprint, DynareOptions)
|
||||
function message = get_error_message(info, DynareOptions)
|
||||
% Returns error messages
|
||||
%
|
||||
% INPUTS
|
||||
% info [double] vector returned by resol.m
|
||||
% noprint [integer] equal to 0 if the error message has to be printed.
|
||||
% DynareOptions [structure] --> options_
|
||||
% OUTPUTS
|
||||
% message [string] corresponding error message
|
||||
|
@ -11,7 +10,7 @@ function message = get_error_message(info, noprint, DynareOptions)
|
|||
% SPECIAL REQUIREMENTS
|
||||
% none
|
||||
|
||||
% Copyright (C) 2005-2019 Dynare Team
|
||||
% Copyright (C) 2005-2020 Dynare Team
|
||||
%
|
||||
% This file is part of Dynare.
|
||||
%
|
||||
|
@ -28,7 +27,6 @@ function message = get_error_message(info, noprint, DynareOptions)
|
|||
% You should have received a copy of the GNU General Public License
|
||||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
if ~noprint
|
||||
switch info(1)
|
||||
case 0
|
||||
message = '';
|
||||
|
@ -171,4 +169,3 @@ if ~noprint
|
|||
otherwise
|
||||
message = 'This case shouldn''t happen. Contact the authors of Dynare';
|
||||
end
|
||||
end
|
|
@ -11,7 +11,7 @@ function print_info(info, noprint, DynareOptions)
|
|||
% SPECIAL REQUIREMENTS
|
||||
% none
|
||||
|
||||
% Copyright (C) 2005-2019 Dynare Team
|
||||
% Copyright (C) 2005-2020 Dynare Team
|
||||
%
|
||||
% This file is part of Dynare.
|
||||
%
|
||||
|
@ -27,6 +27,7 @@ function print_info(info, noprint, DynareOptions)
|
|||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
message = get_error_message(info, noprint, DynareOptions);
|
||||
if ~noprint
|
||||
message = get_error_message(info, DynareOptions);
|
||||
error(message);
|
||||
end
|
Loading…
Reference in New Issue