catchingOopExceptions
inline fun <C : ExecutionContext, Req : Solve.Request<C>, R> Req.catchingOopExceptions(action: Req.() -> R): R
Runs action, converting any it.unibo.tuprolog.solve.libs.oop.exceptions.OopException it throws into the it.unibo.tuprolog.solve.exception.LogicError this request's solver actually expects (via it.unibo.tuprolog.solve.libs.oop.exceptions.OopException.toLogicError), and any other unexpected Throwable into an it.unibo.tuprolog.solve.exception.error.SystemError.forUncaughtException. Every primitive in :oop-lib wraps its logic with this to turn reflection failures into well-formed Prolog errors.