Improve FunTuple diagnostic when a Thor functor throws an exception
When an exception is thrown during the execution of a Thor functor, catch it, and report for which field it happened so that the cause of the exception can be better diagnosed.
Typical example is the use of a VALUE
functor which throws an exception (what else could it do?) when it encounters a non-engaged optional. Currently, the only thing reported is from the scheduler, which reports the exception, but it has no idea which functor was being executed, as only the algorithm that the scheduler was executing is report -- so one is left trying to figure out which functor out of the many used by that algorithm is the one which caused the problem. And all the time, fill_thor_func_output
knew exactly which functor it was that caused the problem... (and the current alternative solution would be to turn on OutputLevel=DEBUG, and run again, while ignoring almost all of the huge amount of extra printout)