equal
deleted
inserted
replaced
695 Finally fall back to Exceptions emergencyHandler, which is always |
695 Finally fall back to Exceptions emergencyHandler, which is always |
696 available and enters the debugger. |
696 available and enters the debugger. |
697 ATTENTION: the code below depends on being called by #raise or |
697 ATTENTION: the code below depends on being called by #raise or |
698 #raiseRequest for proper operation (it skips the sending context)." |
698 #raiseRequest for proper operation (it skips the sending context)." |
699 |
699 |
700 |theContext block noHandlerSignal any msg sel conArg1 |
700 |theContext block noHandlerSignal any msg conArg1 |
701 theSignal c ex1 activeHandlers inHandler rejected |
701 theSignal c ex1 activeHandlers inHandler rejected |
702 lastHandler h raiseReceiver| |
702 lastHandler h raiseReceiver| |
703 |
703 |
704 theContext := thisContext sender sender. "the raise/raiseRequest-context" |
704 theContext := thisContext sender sender. "the raise/raiseRequest-context" |
705 "the signal raise context" |
705 "the signal raise context" |
784 any := false. |
784 any := false. |
785 [theContext notNil] whileTrue:[ |
785 [theContext notNil] whileTrue:[ |
786 theContext := theContext findNextContextWithSelector:#'handle:do:' or:#'handle:from:do:'. |
786 theContext := theContext findNextContextWithSelector:#'handle:do:' or:#'handle:from:do:'. |
787 theContext notNil ifTrue:[ |
787 theContext notNil ifTrue:[ |
788 (theContext selector == #'handle:do:' |
788 (theContext selector == #'handle:do:' |
789 or:["sel = #'handle:from:do:'" |
789 or:[(theContext argAt:2) == originator]) |
790 (theContext argAt:2) == originator]) ifTrue:[ |
790 ifTrue:[ |
791 |
|
792 "/ new behavior: |
|
793 (activeHandlers notNil |
791 (activeHandlers notNil |
794 and:[activeHandlers includesIdentical:theContext]) ifTrue:[ |
792 and:[activeHandlers includesIdentical:theContext]) ifTrue:[ |
795 'skip activeHandler: ' print. theContext displayString printCR. |
793 'skip activeHandler: ' print. theContext displayString printCR. |
796 |
794 |
797 ] ifFalse:[ |
795 ] ifFalse:[ |
917 ! ! |
915 ! ! |
918 |
916 |
919 !Exception class methodsFor:'documentation'! |
917 !Exception class methodsFor:'documentation'! |
920 |
918 |
921 version |
919 version |
922 ^ '$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.52 1997-03-27 15:48:14 cg Exp $' |
920 ^ '$Header: /cvs/stx/stx/libbasic/Exception.st,v 1.53 1997-04-18 14:39:43 cg Exp $' |
923 ! ! |
921 ! ! |
924 Exception initialize! |
922 Exception initialize! |