ExistenceError

class ExistenceError(message: String? = null, cause: Throwable? = null, contexts: Array<ExecutionContext>, val expectedObject: ExistenceError.ObjectType, val culprit: Term, extraData: Term? = null) : LogicError

The existence error occurs when an object on which an operation is to be performed does not exist

Parameters

message

the detail message string.

cause

the cause of this exception.

contexts

a stack of contexts localising the exception

expectedObject

The type of the missing object

culprit

The object whose lack caused the error

extraData

The possible extra data to be carried with the error

Constructors

Link copied to clipboard
constructor(message: String? = null, cause: Throwable? = null, contexts: Array<ExecutionContext>, expectedObject: ExistenceError.ObjectType, culprit: Term, extraData: Term? = null)
constructor(message: String? = null, cause: Throwable? = null, context: ExecutionContext, expectedObject: ExistenceError.ObjectType, actualValue: Term, extraData: Term? = null)

Types

Link copied to clipboard
object Companion
Link copied to clipboard

A class describing the expected type whose absence caused the error

Properties

Link copied to clipboard
expect open val cause: Throwable?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The error Struct as described in Prolog standard: error(error_type, error_extra)

Link copied to clipboard
open val extraData: Term?
Link copied to clipboard

The exception stacktrace; shorthand for context.prologStackTrace

Link copied to clipboard
expect open val message: String?
Link copied to clipboard
open override val type: Struct

Functions

Link copied to clipboard
open override fun pushContext(newContext: ExecutionContext): ExistenceError
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun updateContext(newContext: ExecutionContext, index: Int = 0): ExistenceError

Creates a new exception instance with the context with in position index updated to newContext. Subclasses should override this method and return the correct instance.

Link copied to clipboard
open override fun updateLastContext(newContext: ExecutionContext): ExistenceError