Should be mostly ok, I think this is what's actually happening:

isDebug | isDustError

F, T = error swallowed - ok
F, F = throws error - ok
T, T = throws error - this combination is a bit strange, but it makes some sense that isDebug would override silenceAllErrors.
T, F = throws error - ok