Prevent Canvas from caching blocks that throw exceptions

Problem

When a block rendered inside a Canvas layout throws an exception, the Canvas module captures and caches the resulting error output. Because this broken state is saved in the cache, subsequent page loads will continue to display the exception message. This happens even after the underlying code issue is fixed or the temporary error condition clears.

Cause

The module lacks a validation check during the caching process to detect block execution failures. It treats exception outputs as standard, cacheable block content, failing to invalidate the cache entry when an error occurs.