I think I figured it out. I hope my notes here can help others.
Short answer: Use the "System and Server Error" item (under the "Log" category) to catch errors and continue workflow.
Let's start with this simple workflow. They use the Infoblox plugin. Infoblox has "DNS records" and "Host records." Without going into detail, a given hostname usually one or the other, not both. We want this workflow to remove all DNS records and all Host records for a given hostname.
The workflow calls two items: "Remove DNS record" and "Remove host record". Each has an input "hostName" that's used to search for the respective record. If there is no "DNS record" for a given hostname, the workflow will fail on "Remove DNS Record." The second item, "Remove host record," will not run.
We don't want that. We want the workflow to delete DNS records, then delete Host records. If there are no DNS records to delete, we want the workflow to continue.

Note that the item icons have a red arrow (visible only when the item is selected). When an item ends in error, workflow follows the red arrow. If the red arrow doesn't connect, the entire workflow fails.
You can drag this red arrow to other elements, just as you can do with the blue arrow. To make a general error handler, drag the item "System and Server error" to the Schema field. You'll have to drag-and-drop it right over the item you want to connect it to.

In the connected item (Remove DNS record), you'll need to specify a variable for "Output Exception Binding". Here I've assign the variable exceptionBinding. This string is passed to System and Server error item.


Finally, drag the blue "success" line from System and Server error to the next item in the workflow.

You can do this for any item that shouldn't crash the whole workflow. In the screenshot below (an Infoblox workflow) several actions call System and Server error if they fail. This "sawtooth" pattern lets the workflow run through several different actions regardless of each action's result.
