better error handling.

@thejefflarson: what do you think about the worker exceptions?