diff --git a/src/flask_caching/jinja2ext.py b/src/flask_caching/jinja2ext.py index f4ac10a..43bebb8 100644 --- a/src/flask_caching/jinja2ext.py +++ b/src/flask_caching/jinja2ext.py @@ -93,11 +93,23 @@ def _cache(self, timeout, fragment_name, vary_on, caller): #: Delete key if timeout is 'del' if timeout == "del": - cache.delete(key) - return caller() - - rv = cache.get(key) - if rv is None: - rv = caller() - cache.set(key, rv, timeout) - return rv + try: + cache.delete(key) + return caller() + except Exception as e: + if cache.app.debug: + raise e + else: + return caller() + + try: + rv = cache.get(key) + if rv is None: + rv = caller() + cache.set(key, rv, timeout) + return rv + except Exception as e: + if cache.app.debug: + raise e + else: + return caller()