Prev |  | Next

### `tal:on-error`

When any runtime error occurs while generating the element, the element will be replaced with result of expression in the `tal:on-error` attribute.

Runtime errors are references to non-existent variables/paths/macros and any PHP exceptions thrown in the tag content.

                <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 instead of the `<span>` element.

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>

#### Note

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.

Prev | Up | Next
`tal:attributes` | Home | METAL namespace