(this allows to memoize the error message and call the termination handler outside the catch block)
* breaks lumigui linking * test non functional yet * tools cant not be linked because of cross dependency problems