edu.vub.at.objects
Interface ATHandler

All Superinterfaces:
ATConversions, ATObject
All Known Implementing Classes:
NATHandler

public interface ATHandler
extends ATObject

Instances of the class ATHandler represent first-class exception handlers which have a filter object, describing the kind of exceptions caught by the handler and a code block which acts as replacement code for the code that raised the exception.

Author:
smostinc

Method Summary
 ATBoolean base_canHandle(ATObject anException)
          Used to determine whether a handler will be triggered when an exception is raised.
 ATObject base_handle(ATObject anException)
          When a handler has answered that it can handle an exception, the following method is invoked, asking the handler to handle the exception.
 
Methods inherited from interface edu.vub.at.objects.ATObject
base__opeql__opeql_, base_init, base_new, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_eval, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_getStripes, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_pass, meta_print, meta_quote, meta_receive, meta_resolve, meta_respondsTo, meta_select, meta_send, meta_share
 
Methods inherited from interface edu.vub.at.objects.coercion.ATConversions
asAmbientTalkObject, asJavaClassUnderSymbiosis, asJavaObjectUnderSymbiosis, asNativeBoolean, asNativeException, asNativeFarReference, asNativeFraction, asNativeNumber, asNativeNumeric, asNativeTable, asNativeText, base_asActorMirror, base_asAsyncMessage, base_asBegin, base_asBoolean, base_asClosure, base_asDefinition, base_asExpression, base_asFarReference, base_asField, base_asHandler, base_asMessage, base_asMessageCreation, base_asMethod, base_asMirror, base_asNumber, base_asSplice, base_asStatement, base_asStripe, base_asSymbol, base_asTable, base_asUnquoteSplice, base_asVariableAssignment, base_isBoolean, base_isCallFrame, base_isClosure, base_isFarReference, base_isMessageCreation, base_isMethod, base_isMirror, base_isSplice, base_isStripe, base_isSymbol, base_isTable, base_isUnquoteSplice, base_isVariableAssignment, isAmbientTalkObject, isJavaObjectUnderSymbiosis, isNativeBoolean, isNativeField, isNativeText
 

Method Detail

base_canHandle

public ATBoolean base_canHandle(ATObject anException)
                         throws InterpreterException
Used to determine whether a handler will be triggered when an exception is raised. Its primary use is to provide a hook to deviate from the default semantics, which is: def canHandle(anException) { (reflect: anException).isCloneOf(filter); };

Throws:
InterpreterException

base_handle

public ATObject base_handle(ATObject anException)
                     throws InterpreterException
When a handler has answered that it can handle an exception, the following method is invoked, asking the handler to handle the exception. The default semantics is simply to invoke the associated handler closure. def handle(anException) { handler(anException) };

Throws:
InterpreterException