In `Through`, is a `DB` function raises an exception, the cache should be modified. It would be great if we could have some tests for this