cache and exception