Is it possible to loop through a workflow and try to restart it if there was an error?
you might also want to have a look at making your workflow a bit more robust through the use of state machines, described in this blog post here
Depends on what actions you are using. If you're using actions where you can capture error messages, then you can. You can use a concept like the one Daniel Stoll blogged about in Web Service call fail and retry. You can capture the error then loop through it until their isn't an error. You could put your entire workflow in the loop, then when it gets to the end if there is an error, it loops through it.
Jamie Boucher did you ever resolve this issue?
Both Patrick and Brendan have correct approaches and both should be used (Error handling, and State Machines). The advantage State Machines have is the ability to control where a workflow can restart if any issue arises and the workflow must be restarted. Not all actions have error handling capabilities, so tracking the status of the workflow and using the state machine to restart at a known location can help in those scenarios.
Retrieving data ...