OopException
The base type for every error :oop-lib can run into while bridging Prolog and JVM/Kotlin reflection -- e.g. an unresolvable method/constructor/property overload, a malformed alias expression, or a reflective operation actually throwing.
An OopException is a plain Kotlin Throwable (so it can be thrown from ordinary code, such as a it.unibo.tuprolog.solve.libs.oop.Ref implementation), but every subtype knows how to turn itself into the it.unibo.tuprolog.solve.exception.LogicError a it.unibo.tuprolog.solve.Solver actually throws -- via toLogicError -- which is what it.unibo.tuprolog.solve.libs.oop.primitives.catchingOopExceptions does for every primitive in this library.
See also
Inheritors
Properties
Functions
Converts this exception into the LogicError that should actually be thrown by context's solver, while executing signature.