Is that still not a valid statement? Reason being is `#digest` will always return a string:
- Scenario 1: `Digest::MD5.hexdigest` has no problems, and always returns a string
- Scenario 2: `Digest::MD5.hexdigest` has a problem, raises an error, which then will  raise an error in `compute_and_store_digest`, the `ensure` block on `compute_and_store_digest` will run, and (because of the error) `@@cache[cache_key]` will still be false.

In Scenario 2: will the `ensure` block in `#digest` cause normal execution in `compute_and_store_digest` (making `@@cache[cache_key]` a blank string)?