blob: 7ee6e219f239c962c5fac961604e104fdf128001 [file] [log] [blame]
Guido van Rossum3bead091992-01-27 17:00:37 +00001# Python test set -- part 5, built-in exceptions
2
3from test_support import *
4
5print '5. Built-in exceptions'
6# XXX This is not really enough, each *operation* should be tested!
7
8def r(name): print name
9
10r(AttributeError)
11import sys
12try: x = sys.undefined_attribute
13except AttributeError: pass
14
15r(EOFError)
16import sys
17fp = open(TESTFN, 'w')
18fp.close()
19fp = open(TESTFN, 'r')
20savestdin = sys.stdin
21try:
22 sys.stdin = fp
23 x = raw_input()
24except EOFError:
25 pass
26finally:
27 sys.stdin = savestdin
28 fp.close()
29
30r(IOError)
31try: open('this file does not exist', 'r')
32except IOError: pass
33
34r(ImportError)
35try: import undefined_module
36except ImportError: pass
37
38r(IndexError)
39x = []
40try: a = x[10]
41except IndexError: pass
42
43r(KeyError)
44x = {}
45try: a = x['key']
46except KeyError: pass
47
48r(KeyboardInterrupt)
49print '(not testable in a script)'
50
51r(MemoryError)
52print '(not safe to test)'
53
54r(NameError)
55try: x = undefined_variable
56except NameError: pass
57
58r(OverflowError)
59x = 1
60try:
61 while 1: x = x+x
62except OverflowError: pass
63
64r(RuntimeError)
65print '(not used any more?)'
66
67r(SyntaxError)
68try: exec('/\n')
69except SyntaxError: pass
70
71r(SystemError)
72print '(hard to reproduce)'
73
74r(SystemExit)
75import sys
76try: sys.exit(0)
77except SystemExit: pass
78
79r(TypeError)
80try: [] + ()
81except TypeError: pass
82
83r(ValueError)
84try: x = chr(10000)
85except ValueError: pass
86
87r(ZeroDivisionError)
88try: x = 1/0
89except ZeroDivisionError: pass
90
91unlink(TESTFN)