Exceptions are properly thrown in worker tasks