- TRYCATCH(xbt_dict_get_ext(thislevel, thiskey, thislen, (void*)&nextlevel), mismatch_error);
-
- /* If non-existant entry, nothing to do */
- if (errcode == mismatch_error)
- return no_error;
+ TRY {
+ nextlevel = xbt_dict_get_ext(thislevel, thiskey, thislen);
+ } CATCH(e) {
+ /* If non-existant entry, nothing to do */
+ if (e.category == arg_error)
+ xbt_ex_free(e);
+ else
+ RETHROW;
+ }