From 88a59eb7071b8018a8983034f62b904a38425468 Mon Sep 17 00:00:00 2001 From: Qianqian Fang <fangqq@gmail.com> Date: Thu, 10 Feb 2022 12:57:09 -0500 Subject: [PATCH] give a warning when jdatadecode fails, but still return the raw data --- loadbj.m | 7 ++++++- loadjson.m | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/loadbj.m b/loadbj.m index d5f50cb..ac6a5ae 100644 --- a/loadbj.m +++ b/loadbj.m @@ -150,7 +150,12 @@ function [data, mmap] = loadbj(fname,varargin) end if(jsonopt('JDataDecode',1,varargin{:})==1) - data=jdatadecode(data,'Base64',0,'Recursive',1,varargin{:}); + try + data=jdatadecode(data,'Base64',0,'Recursive',1,varargin{:}); + catch ME + warning(['Failed to decode embedded JData annotations, '... + 'return raw JSON data\n\nError: %s\n%s'], ME.identifier, ME.message); + end end end diff --git a/loadjson.m b/loadjson.m index 4f89361..f704a51 100644 --- a/loadjson.m +++ b/loadjson.m @@ -192,7 +192,12 @@ function [data, mmap] = loadjson(fname,varargin) end if(jsonopt('JDataDecode',1,varargin{:})==1) - data=jdatadecode(data,'Base64',1,'Recursive',1,varargin{:}); + try + data=jdatadecode(data,'Base64',1,'Recursive',1,varargin{:}); + catch ME + warning(['Failed to decode embedded JData annotations, '... + 'return raw JSON data\n\nError: %s\n%s'], ME.identifier, ME.message); + end end if(isfield(opt,'progressbar_')) -- GitLab