error: vs. error:mayProceed:
authorClaus Gittinger <cg@exept.de>
Wed, 04 Aug 1999 16:10:22 +0200
changeset 4522 29a6625dc7b1
parent 4521 946e1a02b158
child 4523 28d9633c9cb4
error: vs. error:mayProceed:
Integer.st
Metaclass.st
Method.st
NameSpace.st
Namespace.st
Object.st
ProcSched.st
Process.st
ProcessorScheduler.st
Project.st
ReadStr.st
ReadStream.st
--- a/Integer.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/Integer.st	Wed Aug 04 16:10:22 1999 +0200
@@ -1695,15 +1695,16 @@
     "Modified: / 20.1.1998 / 14:10:45 / stefan"
 !
 
-printOn:aStream base:base
+printOn:aStream base:b
     "return a string representation of the receiver in the specified
      radix (without the initial XXr)"
 
-    |num s divMod mod r r2 r4 nD numN|
+    |base num s divMod mod r r2 r4 nD numN|
 
+    base := b.
     (base between:2 and:36) ifFalse:[
-        self error:'invalid base'.
-        ^ self printOn:aStream base:10
+        self error:'invalid base' mayProceed:true.
+        base := 10.
     ].
 
     (self = 0) ifTrue:[aStream nextPut:$0. ^ self].
@@ -2175,5 +2176,5 @@
 !Integer class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.101 1999-07-21 15:24:14 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.102 1999-08-04 14:07:41 cg Exp $'
 ! !
--- a/Metaclass.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/Metaclass.st	Wed Aug 04 16:10:22 1999 +0200
@@ -567,18 +567,15 @@
     (newName isSymbol not
     or:[newName size == 0]) ifTrue:[
         self error:'invalid class name (must be a nonEmpty symbol)'.
-        ^ nil
     ].
     newName first isLetter ifFalse:[
         self error:'invalid class name (must start with a letter)'.
-        ^ nil
     ].
 
     "check for invalid subclassing of UndefinedObject and SmallInteger"
     aClass notNil ifTrue:[
         aClass canBeSubclassed ifFalse:[
             self error:('it is not possible to subclass ' , aClass name).
-            ^ nil
         ]
     ].
 
@@ -1482,7 +1479,7 @@
     |newClass|
 
     myClass notNil ifTrue:[
-        ^ self error:'Each metaclass may only have one instance'.
+        self error:'Each metaclass may only have one instance'.
     ].
     newClass := self basicNew.
     newClass setSuperclass:Object
@@ -2018,6 +2015,6 @@
 !Metaclass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.149 1999-08-02 16:07:08 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.150 1999-08-04 14:08:21 cg Exp $'
 ! !
 Metaclass initialize!
--- a/Method.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/Method.st	Wed Aug 04 16:10:22 1999 +0200
@@ -1028,7 +1028,6 @@
         storedMethod := self asByteCodeMethod.
         storedMethod isNil ifTrue:[
             self error:'store of built-in method failed'.
-            ^ nil
         ].
         ^ storedMethod storeBinaryDefinitionOn:stream manager:manager
     ].
@@ -2411,6 +2410,6 @@
 !Method class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.171 1999-06-11 07:49:24 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.172 1999-08-04 14:08:28 cg Exp $'
 ! !
 Method initialize!
--- a/NameSpace.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/NameSpace.st	Wed Aug 04 16:10:22 1999 +0200
@@ -103,7 +103,7 @@
                 thisNamespace := Smalltalk at:key.
                 (thisNamespace notNil
                 and:[thisNamespace isBehavior not]) ifTrue:[
-                    ^ self error:'name conflict: namespace ' , aName , ' vs. global'.
+                    self error:'name conflict: namespace ' , aName , ' vs. global'.
                 ]
             ].
             thisNamespace isNil ifTrue:[
@@ -158,7 +158,6 @@
     ].
     ok ifFalse:[
         self error:'invalid namespace name:''' , aStringOrSymbol printString , ''' (must be a valid identifier)'.
-        ^ nil.
     ].
 
     currentNameSpace := Class nameSpaceQuerySignal query.
@@ -401,5 +400,5 @@
 !Namespace class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/NameSpace.st,v 1.31 1999-07-26 14:01:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/NameSpace.st,v 1.32 1999-08-04 14:08:36 cg Exp $'
 ! !
--- a/Namespace.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/Namespace.st	Wed Aug 04 16:10:22 1999 +0200
@@ -103,7 +103,7 @@
                 thisNamespace := Smalltalk at:key.
                 (thisNamespace notNil
                 and:[thisNamespace isBehavior not]) ifTrue:[
-                    ^ self error:'name conflict: namespace ' , aName , ' vs. global'.
+                    self error:'name conflict: namespace ' , aName , ' vs. global'.
                 ]
             ].
             thisNamespace isNil ifTrue:[
@@ -158,7 +158,6 @@
     ].
     ok ifFalse:[
         self error:'invalid namespace name:''' , aStringOrSymbol printString , ''' (must be a valid identifier)'.
-        ^ nil.
     ].
 
     currentNameSpace := Class nameSpaceQuerySignal query.
@@ -401,5 +400,5 @@
 !Namespace class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Namespace.st,v 1.31 1999-07-26 14:01:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Namespace.st,v 1.32 1999-08-04 14:08:36 cg Exp $'
 ! !
--- a/Object.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/Object.st	Wed Aug 04 16:10:22 1999 +0200
@@ -3814,9 +3814,9 @@
 customInterrupt
     "{ Pragma: +optSpace }"
 
-    "a custom interrupt"
-
-    ^ self error:'custom interrupt'
+    "a custom interrupt - but no handler has defined"
+
+    self error:'custom interrupt' mayProceed:true
 !
 
 errorInterrupt:errorID with:aParameter
@@ -3857,7 +3857,7 @@
 
     "exception interrupt - enter debugger"
 
-    self error:'exception Interrupt'
+    self error:'exception Interrupt' mayProceed:true
 !
 
 fpExceptionInterrupt
@@ -3910,7 +3910,7 @@
      or it does not understand the ioInterrupt message.
      In any case, this is a sign of some big trouble. Enter debugger."
 
-    self error:'I/O Interrupt - but no handler'
+    self error:'I/O Interrupt - but no handler' mayProceed:true
 !
 
 memoryInterrupt
@@ -3918,7 +3918,7 @@
 
     "out-of-memory interrupt and no handler - enter debugger"
 
-    ^ self error:'almost out of memory'
+    self error:'almost out of memory' mayProceed:true
 !
 
 recursionInterrupt
@@ -3948,7 +3948,7 @@
      or it has been set to nil. In any case, this is a sign of some
      big trouble. Enter debugger."
 
-    self error:'schedulerInterrupt - but no Processor'
+    self error:'schedulerInterrupt - but no Processor' mayProceed:true
 !
 
 signalInterrupt:signalNumber
@@ -4134,7 +4134,7 @@
 
     "spy interrupt and no handler - enter debugger"
 
-    self error:'spy Interrupt - but no handler'
+    self error:'spy Interrupt - but no handler' mayProceed:true
 !
 
 timerInterrupt
@@ -4142,7 +4142,7 @@
 
     "timer interrupt and no handler - enter debugger"
 
-    self error:'timer Interrupt - but no handler'
+    self error:'timer Interrupt - but no handler' mayProceed:true
 !
 
 userInterrupt
@@ -7413,6 +7413,6 @@
 !Object class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.272 1999-08-04 07:08:53 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.273 1999-08-04 14:08:57 cg Exp $'
 ! !
 Object initialize!
--- a/ProcSched.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/ProcSched.st	Wed Aug 04 16:10:22 1999 +0200
@@ -307,17 +307,17 @@
      This may raise an exception, if a VM process could not be created."
 
     MaxNumberOfProcesses notNil ifTrue:[
-	KnownProcessIds size >= MaxNumberOfProcesses ifTrue:[
-	    (KnownProcessIds count:[:el | el notNil]) >= MaxNumberOfProcesses ifTrue:[
-		"
-		 the number of processes has reached the (soft) limit.
-		 This limit prevents runaway programs from creating too many
-		 processes. If you continue in the debugger, the process will be
-		 created as usual. If you dont want this, abort or terminate.
-		"
-		self error:'too many processes'.
-	    ]
-	]
+        KnownProcessIds size >= MaxNumberOfProcesses ifTrue:[
+            (KnownProcessIds count:[:el | el notNil]) >= MaxNumberOfProcesses ifTrue:[
+                "
+                 the number of processes has reached the (soft) limit.
+                 This limit prevents runaway programs from creating too many
+                 processes. If you continue in the debugger, the process will be
+                 created as usual. If you dont want this, abort or terminate.
+                "
+                self error:'too many processes'.
+            ]
+        ]
     ].
 
 %{
@@ -325,11 +325,11 @@
     extern int __threadCreate();
 
     tid = __threadCreate(aProcess, 
-			 0   /* stackSize: no longer needed */, 
-			 __isSmallInteger(id) ? __intVal(id)     /* assign id */
-					      : -1              /* let VM assign one */  );
+                         0   /* stackSize: no longer needed */, 
+                         __isSmallInteger(id) ? __intVal(id)     /* assign id */
+                                              : -1              /* let VM assign one */  );
     if (tid) {
-	RETURN ( __MKSMALLINT(tid));
+        RETURN ( __MKSMALLINT(tid));
     }
 %}
 .
@@ -3005,6 +3005,6 @@
 !ProcessorScheduler class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.176 1999-04-27 18:34:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.177 1999-08-04 14:09:52 cg Exp $'
 ! !
 ProcessorScheduler initialize!
--- a/Process.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/Process.st	Wed Aug 04 16:10:22 1999 +0200
@@ -567,7 +567,7 @@
      Others have to be restarted manually."
 
     startBlock isNil ifTrue:[
-        self error:'cannot be made restartable when already started'.
+        self error:'cannot be made restartable when already started' mayProceed:true.
         ^ self
     ].
     restartable := aBoolean
@@ -1366,7 +1366,7 @@
      This is only possible, if its restartable."
 
     restartable ifFalse:[
-        ^ self error:'process is not restartable'
+        ^ self error:'process is not restartable' mayProceed:true
     ].
 
     self interruptWith:[RestartSignal raise]
@@ -1406,7 +1406,7 @@
         self terminateNoSignal.
     ] ifFalse:[
         "is this artificial restriction useful ?"
-        self error:'a process cannot be started twice'
+        self error:'a process cannot be started twice' mayProceed:true
     ]
 
     "Modified: 28.10.1996 / 21:06:45 / cg"
@@ -1632,6 +1632,6 @@
 !Process class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.99 1999-07-22 22:52:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.100 1999-08-04 14:09:46 cg Exp $'
 ! !
 Process initialize!
--- a/ProcessorScheduler.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/ProcessorScheduler.st	Wed Aug 04 16:10:22 1999 +0200
@@ -307,17 +307,17 @@
      This may raise an exception, if a VM process could not be created."
 
     MaxNumberOfProcesses notNil ifTrue:[
-	KnownProcessIds size >= MaxNumberOfProcesses ifTrue:[
-	    (KnownProcessIds count:[:el | el notNil]) >= MaxNumberOfProcesses ifTrue:[
-		"
-		 the number of processes has reached the (soft) limit.
-		 This limit prevents runaway programs from creating too many
-		 processes. If you continue in the debugger, the process will be
-		 created as usual. If you dont want this, abort or terminate.
-		"
-		self error:'too many processes'.
-	    ]
-	]
+        KnownProcessIds size >= MaxNumberOfProcesses ifTrue:[
+            (KnownProcessIds count:[:el | el notNil]) >= MaxNumberOfProcesses ifTrue:[
+                "
+                 the number of processes has reached the (soft) limit.
+                 This limit prevents runaway programs from creating too many
+                 processes. If you continue in the debugger, the process will be
+                 created as usual. If you dont want this, abort or terminate.
+                "
+                self error:'too many processes'.
+            ]
+        ]
     ].
 
 %{
@@ -325,11 +325,11 @@
     extern int __threadCreate();
 
     tid = __threadCreate(aProcess, 
-			 0   /* stackSize: no longer needed */, 
-			 __isSmallInteger(id) ? __intVal(id)     /* assign id */
-					      : -1              /* let VM assign one */  );
+                         0   /* stackSize: no longer needed */, 
+                         __isSmallInteger(id) ? __intVal(id)     /* assign id */
+                                              : -1              /* let VM assign one */  );
     if (tid) {
-	RETURN ( __MKSMALLINT(tid));
+        RETURN ( __MKSMALLINT(tid));
     }
 %}
 .
@@ -3005,6 +3005,6 @@
 !ProcessorScheduler class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.176 1999-04-27 18:34:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.177 1999-08-04 14:09:52 cg Exp $'
 ! !
 ProcessorScheduler initialize!
--- a/Project.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/Project.st	Wed Aug 04 16:10:22 1999 +0200
@@ -1767,23 +1767,23 @@
 
     d := (properties at:#directoryName) asFilename.
     d exists ifFalse:[
-	self error:'directory does not exist'.
-	^ self
+        self error:'directory does not exist' mayProceed:true.
+        ^ self
     ].
     f := d construct:'.project'.
     s := f writeStream.
     s isNil ifTrue:[^ self].
     properties associationsDo:[:aProp |
-	(aProp == #directoryName) ifFalse:[
-	    s nextChunkPut:('self at:' , aProp key storeString, 
-			       ' put:' , aProp value storeString).
-	    s cr
-	]
+        (aProp == #directoryName) ifFalse:[
+            s nextChunkPut:('self at:' , aProp key storeString, 
+                               ' put:' , aProp value storeString).
+            s cr
+        ]
     ].
     s close
 
     "((Project new directory:'../projects/Clock') readSpec
-	 directory:'../projects/xxx') saveSpec"
+         directory:'../projects/xxx') saveSpec"
 ! !
 
 !Project methodsFor:'views'!
@@ -1876,6 +1876,6 @@
 !Project class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Project.st,v 1.83 1999-06-24 17:05:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Project.st,v 1.84 1999-08-04 14:09:59 cg Exp $'
 ! !
 Project initialize!
--- a/ReadStr.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/ReadStr.st	Wed Aug 04 16:10:22 1999 +0200
@@ -228,7 +228,7 @@
     ret := self next.
     ret notNil ifTrue:[
         ((ret < 0) or:[ret > 255]) ifTrue:[
-            self error:'oops - not a byte value in stream'.
+            self error:'oops - not a byte value in stream' mayProceed:true.
             ^ nil
         ]
     ].
@@ -641,5 +641,5 @@
 !ReadStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ReadStr.st,v 1.38 1999-06-04 23:07:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ReadStr.st,v 1.39 1999-08-04 14:10:22 cg Exp $'
 ! !
--- a/ReadStream.st	Wed Aug 04 09:58:10 1999 +0200
+++ b/ReadStream.st	Wed Aug 04 16:10:22 1999 +0200
@@ -228,7 +228,7 @@
     ret := self next.
     ret notNil ifTrue:[
         ((ret < 0) or:[ret > 255]) ifTrue:[
-            self error:'oops - not a byte value in stream'.
+            self error:'oops - not a byte value in stream' mayProceed:true.
             ^ nil
         ]
     ].
@@ -641,5 +641,5 @@
 !ReadStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ReadStream.st,v 1.38 1999-06-04 23:07:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ReadStream.st,v 1.39 1999-08-04 14:10:22 cg Exp $'
 ! !