[View] [Edit] [Lock] [References] [Attachments] [History] [Home] [Changes] [Search] [Help]
Exception
Important
Class Methods
signal:VSE
RECOMMENDATION: In order to campatibilize it is possible to add a class method on S8 side as follows:
! Exception class methodsFor: #signaling-VSECompat!
signal: msg
^(self new messagetext: msg) signal! !
,VSE
RECOMMENDATION: In order to campatibilize #on:do: in BlockClosure it is possible to add #, class method & ExceptionSet class on S8 side as follows:
! Exception class methodsFor: #adding-VSECompat!
, arg
"Answer a new instance of ExceptionSet containing the receiver and the argument."
^(ExceptionSet with: self) , arg! !
Object
subclass: #ExceptionSet
instanceVariableNames: 'exceptions'
category: #Kernel-VSECompat !
! ExceptionSet class methodsFor: #copying !
with: anException
"Create an instance of the receiver with <anException> as its sole member."
| new |
new := self new.
new exceptions add: anException.
^new! !
! ExceptionSet methodsFor: #copying !
, arg
"Answer the receiver with arg added to its list of exceptions"
self exceptions add: arg! !
! ExceptionSet methodsFor: #accesing !
exceptions
"Private - Answer a collection of exceptions in the ExceptionSet"
exceptions == nil
ifTrue: [exceptions := Set new].
^exceptions! !
! ExceptionSet methodsFor: #testing !
handles: anException
"Answer <true> if a any of the exceptions in this exception
set can handle <anException>."
self exceptions
detect:
[:ex | ex handles: anException]
ifNone: [^false].
^true! !
handles:VSE
RECOMMENDATION: In order to campatibilize #on:do: in BlockClosure it is possible to add VSE #handles class method.
! Exception class methodsFor: #testing-VSECompat!
handles: anException
"Answer true if a handler for the receiver
can handle the argument exception"
^anException isKindOf: self! !
Instance Methods
messageTextVSES8Compatible
messageText:VSES8Compatible
signalVSES8Compatible
Secondary
Class Methods
isActivationVisibleForInstanceSelector:VSE
says:VSE
handles:VSE
handles:VSE
Instance Methods
defaultActionVSE
exit:VSE
isResumableVSE
outerVSE
passVSE
resignalAs:VSE
esumeVSE
resume:VSE
retryVSE
retryUsing:VSE
returnVSE
return:VSE
signalVSE
signalEnvironmentVSE
signalEnvironment:VSE
TODO: Repasar los mensajes secunarios
activateHandler:, activeHandler, activeHandler:, defaultDescriptionString, handle, replacementException, replacementException:, resignalContinuation, resignalContinuation:, isActive