--- a/Object.st Wed Jan 22 20:30:51 1997 +0100
+++ b/Object.st Wed Jan 22 21:05:02 1997 +0100
@@ -19,7 +19,7 @@
ElementOutOfBoundsSignal UserNotificationSignal InformationSignal
WarningSignal PrimitiveFailureSignal DeepCopyErrorSignal
AbortSignal ErrorRecursion Dependencies InfoPrinting
- ActivityNotificationSignal NonWeakDependencies'
+ ActivityNotificationSignal InternalErrorSignal NonWeakDependencies'
poolDictionaries:''
category:'Kernel-Objects'
!
@@ -170,6 +170,10 @@
PrimitiveFailureSignal nameClass:self message:#primitiveFailureSignal.
PrimitiveFailureSignal notifierString:'primitive failed'.
+ InternalErrorSignal := ErrorSignal newSignalMayProceed:false.
+ InternalErrorSignal nameClass:self message:#internalError.
+ InternalErrorSignal notifierString:'VM internal error: '.
+
"/ UserInterruptSignal := ErrorSignal newSignalMayProceed:true.
UserInterruptSignal := (Signal new) mayProceed:true.
UserInterruptSignal nameClass:self message:#userInterruptSignal.
@@ -308,6 +312,12 @@
^ InformationSignal
!
+internalErrorSignal
+ "return the signal used to report internal (VM-) errors."
+
+ ^ InternalErrorSignal
+!
+
keyNotFoundSignal
"return the signal used for no such key error reporting"
@@ -2896,14 +2906,16 @@
internalError:msg
"{ Pragma: +optSpace }"
- "this is triggered, when system hits some bad error,
+ "this is triggered, when VM hits some bad error,
such as corrupted class, corrupted method/selector array
etc. The argument string gives some more information on what happened.
- (for example, if you set an objects class to a smallInteger, nil etc).
+ (for example, if you set an objects class to a non-behavior, nil etc.).
Its not guaranteed, that the system is in a working condition once
this error occurred ...."
- ^ self error:msg
+ ^ InternalErrorSignal
+ raiseRequestWith:self
+ errorString:msg
!
ioInterrupt
@@ -5539,6 +5551,6 @@
!Object class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.165 1997-01-20 16:11:45 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.166 1997-01-22 20:05:02 cg Exp $'
! !
Object initialize!