Hi Ben,
For now (as of SAM 2013.1.15) the Simulate() function does not return a value, so you cannot use it to catch simulation errors.
The MPSimulate() function returns false when a simulation fails. It is intended for multi-processor simulations, but in its current form can run more slowly than Simulate().
See the Multiprocessing script in the sample file SamUL Samples.zsam for an example of how to use MPSimulate().
Best regards,
Paul.