ExceptionHandlerSet.st
branchjv
changeset 20206 51652e7f46dd
parent 19478 1f5aa87f6170
parent 20203 21227fea15dc
equal deleted inserted replaced
20205:03e626304d06 20206:51652e7f46dd
    37 
    37 
    38 !
    38 !
    39 
    39 
    40 documentation
    40 documentation
    41 "
    41 "
    42     A ExceptionHandlerSet allows a group of unrelated signals to be handled
    42     An ExceptionHandlerSet allows a group of unrelated signals to be handled
    43     by individual handlers - their evaluation is equivalent to a corresponding
    43     by individual handlers - their evaluation is equivalent to a corresponding
    44     number of nested signal handlers, but more efficient and
    44     number of nested signal handlers, but more efficient and
    45     somwehat easier to program.
    45     somwehat easier to program.
    46 
    46 
    47     [author:]
    47     [author:]
   144 
   144 
   145 accepts:anExceptionHandler
   145 accepts:anExceptionHandler
   146     "return true, if the receiver accepts the argument, aSignal.
   146     "return true, if the receiver accepts the argument, aSignal.
   147      (i.e. if any of the receiver's elements is aSignal or a parent of it)."
   147      (i.e. if any of the receiver's elements is aSignal or a parent of it)."
   148 
   148 
   149     self keysDo:[:eachExceptionHandler | 
   149     self keysDo:[:eachExceptionHandler |
   150         (eachExceptionHandler==anExceptionHandler 
   150         (eachExceptionHandler==anExceptionHandler
   151          or:[eachExceptionHandler accepts:anExceptionHandler]) ifTrue:[^ true].
   151          or:[eachExceptionHandler accepts:anExceptionHandler]) ifTrue:[^ true].
   152     ].
   152     ].
   153     ^ false
   153     ^ false
   154 
   154 
   155     "Created: / 26.7.1999 / 09:53:09 / stefan"
   155     "Created: / 26.7.1999 / 09:53:09 / stefan"
   215 
   215 
   216 handles:anException
   216 handles:anException
   217     "return true, if the receiver handles the argument, anException.
   217     "return true, if the receiver handles the argument, anException.
   218      (i.e. if any of the receiver's elements handles anException)."
   218      (i.e. if any of the receiver's elements handles anException)."
   219 
   219 
   220     self keysDo:[:eachExceptionHandler| 
   220     self keysDo:[:eachExceptionHandler|
   221         (eachExceptionHandler handles:anException) ifTrue:[^ true]
   221         (eachExceptionHandler handles:anException) ifTrue:[^ true]
   222     ].
   222     ].
   223     ^ false
   223     ^ false
   224 ! !
   224 ! !
   225 
   225