[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

Private

activateHandler:, activeHandler, activeHandler:, defaultDescriptionString, handle, replacementException, replacementException:, resignalContinuation, resignalContinuation:, isActive