class: ZeroDivide
authorClaus Gittinger <cg@exept.de>
Fri, 25 Jan 2013 18:19:34 +0100
changeset 14717 8bd5b56dd171
parent 14716 19f1a850f981
child 14718 01835f8e7bab
class: ZeroDivide added: #defaultResumeValue if ever proceeded, proceed with infinity, not with nil
ZeroDivide.st
--- a/ZeroDivide.st	Fri Jan 25 17:11:58 2013 +0100
+++ b/ZeroDivide.st	Fri Jan 25 18:19:34 2013 +0100
@@ -73,6 +73,38 @@
 
 !ZeroDivide methodsFor:'accessing'!
 
+defaultResumeValue
+    "no, we return infinity here, if ever proceeded"
+
+    ^ parameter receiver class infinity
+
+    "
+     |a b|
+
+     a := 5.
+     b := 0.
+     ZeroDivide handle:[:ex |
+        Transcript showCR:('division by zero - dividend was: ' , ex dividend printString).
+        ex proceed
+     ] do:[
+        a / b
+     ]            
+    "
+
+    "
+     |a b|
+
+     a := 5.0.
+     b := 0.0.
+     ZeroDivide handle:[:ex |
+        Transcript showCR:('division by zero - dividend was: ' , ex dividend printString).
+        ex proceed
+     ] do:[
+        a / b
+     ]            
+    "
+!
+
 dividend
     "Return the number that was being divided by zero."
 
@@ -94,7 +126,8 @@
 !ZeroDivide class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ZeroDivide.st,v 1.7 2006-12-15 11:02:36 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ZeroDivide.st,v 1.8 2013-01-25 17:19:34 cg Exp $'
 ! !
 
+
 ZeroDivide initialize!