Implement RecursiveExceptionError. as class based exception.
--- a/GenericException.st Wed Aug 04 08:58:07 1999 +0200
+++ b/GenericException.st Wed Aug 04 09:07:05 1999 +0200
@@ -48,6 +48,13 @@
privateIn:GenericException
!
+Error subclass:#RecursiveExceptionError
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:GenericException
+!
+
!GenericException class methodsFor:'documentation'!
copyright
@@ -210,13 +217,10 @@
!GenericException class methodsFor:'initialization'!
initialize
- "setup the signal used to handle unhandled signals"
-
- RecursiveExceptionSignal isNil ifTrue:[
- RecursiveExceptionSignal := ErrorSignal newSignalMayProceed:false.
- RecursiveExceptionSignal nameClass:self message:#recursiveExceptionSignal.
- RecursiveExceptionSignal notifierString:'recursive signal raise in handler'
- ]
+
+ NotifierString := 'unknown exception'.
+
+ "Modified: / 4.8.1999 / 09:06:26 / stefan"
! !
!GenericException class methodsFor:'instance creation'!
@@ -262,10 +266,21 @@
"Created: / 4.8.1999 / 08:34:30 / stefan"
!
-recursiveExceptionSignal
+recursiveExceptionError
"return the signal used to handle recursive signals in the handlers"
- ^ RecursiveExceptionSignal
+ ^ RecursiveExceptionError
+
+ "Created: / 4.8.1999 / 09:05:06 / stefan"
+!
+
+recursiveExceptionSignal
+ "return the signal used to handle recursive signals in the handlers.
+ This is for backward compatinility. Use recursiveExceptionError"
+
+ ^ RecursiveExceptionError
+
+ "Modified: / 4.8.1999 / 09:05:59 / stefan"
!
wrongProceedabilityError
@@ -1983,9 +1998,45 @@
"Modified: / 4.8.1999 / 08:43:53 / stefan"
! !
+!GenericException::RecursiveExceptionError class methodsFor:'documentation'!
+
+documentation
+"
+ RecursiveExceptionError is raised, if the same exception is raised
+ again in an exception handler.
+
+ The parameter is the recursive exception.
+"
+
+! !
+
+!GenericException::RecursiveExceptionError class methodsFor:'initialization'!
+
+initialize
+
+ NotifierString := 'recursive exception raise in handler'.
+
+ "
+ self initialize
+ "
+
+ "Created: / 4.8.1999 / 09:00:47 / stefan"
+ "Modified: / 4.8.1999 / 09:04:09 / stefan"
+! !
+
+!GenericException::RecursiveExceptionError class methodsFor:'queries'!
+
+mayProceed
+
+ ^ false
+
+ "Created: / 4.8.1999 / 09:00:47 / stefan"
+ "Modified: / 4.8.1999 / 09:04:27 / stefan"
+! !
+
!GenericException class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/GenericException.st,v 1.12 1999-08-04 06:57:13 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/GenericException.st,v 1.13 1999-08-04 07:07:05 stefan Exp $'
! !
GenericException initialize!