diff options
author | Guido van Rossum <guido@python.org> | 1992-01-27 17:00:37 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1992-01-27 17:00:37 (GMT) |
commit | 3bead0984c802a2f709076bb9c8531fc67f56ee8 (patch) | |
tree | 853b49f1a9932b1f8296449bad1902dca7ea23df /Lib/test/test_exceptions.py | |
parent | 19a86e72df72ff8e0b3a6f0d97b233bd22b70b7d (diff) | |
download | cpython-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.py | 91 |
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) |