Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.

Presenting User Error Messages

You can use Canvas.CanvasRenderException to display error messages to the user.

If you throw a CanvasRenderException from your onRender() implementation, the error message in that exception will be displayed to the user in the Salesforce UI. This exception will be managed only within the onRender() method.

CanvasRenderException supports all the standard Apex exception class methods and constructors. See ”Exception Class and Build-In Exceptions” in the Apex Code Developer Guide for more information on Apex exceptions.

Here’s an example onRender() implementation that throws a Canvas.CanvasRenderException. Salesforce uses this exception and displays “Error: Could not set URL” as the user error message.
1public void onRender(Canvas.RenderContext renderContext) {
2    // Code omitted that determines if the error condition occured
3    ...
4    throw new Canvas.CanvasRenderException('Error: Could not set URL.');
5}
If the canvas app is run from the Salesforce Chatter tab, the error message resembles:Screenshot of Salesforce Chatter tab with custom canvas app error