summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_exceptions.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1992-01-27 17:00:37 (GMT)
committerGuido van Rossum <guido@python.org>1992-01-27 17:00:37 (GMT)
commit3bead0984c802a2f709076bb9c8531fc67f56ee8 (patch)
tree853b49f1a9932b1f8296449bad1902dca7ea23df /Lib/test/test_exceptions.py
parent19a86e72df72ff8e0b3a6f0d97b233bd22b70b7d (diff)
downloadcpython-3bead0984c802a2f709076bb9c8531fc67f56ee8.zip
cpython-3bead0984c802a2f709076bb9c8531fc67f56ee8.tar.gz
cpython-3bead0984c802a2f709076bb9c8531fc67f56ee8.tar.bz2
Initial revision
Diffstat (limited to 'Lib/test/test_exceptions.py')
-rw-r--r--Lib/test/test_exceptions.py91
1 files changed, 91 insertions, 0 deletions
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
new file mode 100644
index 0000000..7ee6e21
--- /dev/null
+++ b/Lib/test/test_exceptions.py
@@ -0,0 +1,91 @@
+# Python test set -- part 5, built-in exceptions
+
+from test_support import *
+
+print '5. Built-in exceptions'
+# XXX This is not really enough, each *operation* should be tested!
+
+def r(name): print name
+
+r(AttributeError)
+import sys
+try: x = sys.undefined_attribute
+except AttributeError: pass
+
+r(EOFError)
+import sys
+fp = open(TESTFN, 'w')
+fp.close()
+fp = open(TESTFN, 'r')
+savestdin = sys.stdin
+try:
+ sys.stdin = fp
+ x = raw_input()
+except EOFError:
+ pass
+finally:
+ sys.stdin = savestdin
+ fp.close()
+
+r(IOError)
+try: open('this file does not exist', 'r')
+except IOError: pass
+
+r(ImportError)
+try: import undefined_module
+except ImportError: pass
+
+r(IndexError)
+x = []
+try: a = x[10]
+except IndexError: pass
+
+r(KeyError)
+x = {}
+try: a = x['key']
+except KeyError: pass
+
+r(KeyboardInterrupt)
+print '(not testable in a script)'
+
+r(MemoryError)
+print '(not safe to test)'
+
+r(NameError)
+try: x = undefined_variable
+except NameError: pass
+
+r(OverflowError)
+x = 1
+try:
+ while 1: x = x+x
+except OverflowError: pass
+
+r(RuntimeError)
+print '(not used any more?)'
+
+r(SyntaxError)
+try: exec('/\n')
+except SyntaxError: pass
+
+r(SystemError)
+print '(hard to reproduce)'
+
+r(SystemExit)
+import sys
+try: sys.exit(0)
+except SystemExit: pass
+
+r(TypeError)
+try: [] + ()
+except TypeError: pass
+
+r(ValueError)
+try: x = chr(10000)
+except ValueError: pass
+
+r(ZeroDivisionError)
+try: x = 1/0
+except ZeroDivisionError: pass
+
+unlink(TESTFN)