tal:on-errorThis attribute replaces the element with the tal:on-error content if any runtime error is detected while generating the element, such as reference to non-existent variable or macro.
<span tal:on-error="string:No username defined here"
tal:content="user/name">the user name here</span>
If an error occurs accessing 'name' or 'user', the error string will be shown at the tag's place.
This also works on more than one level of template:
<span tal:on-error="string:error occurred somewhere">
<span tal:content="user/firstname"/>
<span tal:content="user/lastname"/>
<span metal:use-macro="userMenu" />
</span>
Due to optimizations performed by PHPTAL, tal:on-error on element containing element with metal:fill-slot may not catch errors that happened inside the slot.