Skip to content

Commit e2864ec

Browse files
committed
[Matlab] Refactor error handling in nix.Utils filters
1 parent 36286e4 commit e2864ec

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

+nix/Utils.m

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -109,26 +109,24 @@
109109
% nix.Filter helper functions
110110
% -----------------------------------------------------------
111111

112-
function err = valid_filter(filter, val)
113-
err = '';
112+
function [] = valid_filter(filter, val)
114113
if (~isa(filter, 'nix.Filter'))
115-
err = 'Valid nix.Filter required';
116-
return
114+
err.identifier = 'NIXMX:InvalidArgument';
115+
err.message = 'Valid nix.Filter required';
116+
error(err);
117117
end
118118

119119
% Currently matlab will crash, if anything other than
120120
% a cell array is handed over to a nix.Filter.ids.
121121
if (filter == nix.Filter.ids && ~iscell(val))
122-
err = 'nix.Filter.ids requires a cell array';
123-
return
122+
err.identifier = 'NIXMX:InvalidArgument';
123+
err.message = 'nix.Filter.ids requires a cell array';
124+
error(err)
124125
end
125126
end
126127

127128
function r = filter(obj, mxMethodName, filter, val, objConstructor)
128-
valid = nix.Utils.valid_filter(filter, val);
129-
if (~isempty(valid))
130-
error(valid);
131-
end
129+
nix.Utils.valid_filter(filter, val);
132130

133131
mxMethod = strcat(obj.alias, '::', mxMethodName);
134132
list = nix_mx(mxMethod, obj.nix_handle, uint8(filter), val);
@@ -141,13 +139,12 @@
141139

142140
function r = find(obj, mxMethodName, max_depth, filter, val, objConstructor)
143141
if (~isnumeric(max_depth))
144-
error('Provide a valid search depth');
142+
err.identifier = 'NIXMX:InvalidArgument';
143+
err.message = 'Provide a valid search depth';
144+
error(err);
145145
end
146146

147-
valid = nix.Utils.valid_filter(filter, val);
148-
if (~isempty(valid))
149-
error(valid);
150-
end
147+
nix.Utils.valid_filter(filter, val);
151148

152149
mxMethod = strcat(obj.alias, '::', mxMethodName);
153150
list = nix_mx(mxMethod, obj.nix_handle, max_depth, uint8(filter), val);

0 commit comments

Comments
 (0)