It's a bad way to pass some data via exception, which need you for some logic.
Where this method call? Why this supertask need in case of error?
So let's rethink this part.