Class around PixMap objects that allows more python-like access. By Joe Strout.
[python/dscho.git] / Lib / test / test_exceptions.py
blob9796ef4e695e4567ebddc04b7746d3ccc0e8bab1
1 # Python test set -- part 5, built-in exceptions
3 from test_support import *
4 from types import ClassType
6 print '5. Built-in exceptions'
7 # XXX This is not really enough, each *operation* should be tested!
9 def r(thing):
10 if type(thing) == ClassType:
11 print thing.__name__
12 else:
13 print thing
15 r(AttributeError)
16 import sys
17 try: x = sys.undefined_attribute
18 except AttributeError: pass
20 r(EOFError)
21 import sys
22 fp = open(TESTFN, 'w')
23 fp.close()
24 fp = open(TESTFN, 'r')
25 savestdin = sys.stdin
26 try:
27 try:
28 sys.stdin = fp
29 x = raw_input()
30 except EOFError:
31 pass
32 finally:
33 sys.stdin = savestdin
34 fp.close()
36 r(IOError)
37 try: open('this file does not exist', 'r')
38 except IOError: pass
40 r(ImportError)
41 try: import undefined_module
42 except ImportError: pass
44 r(IndexError)
45 x = []
46 try: a = x[10]
47 except IndexError: pass
49 r(KeyError)
50 x = {}
51 try: a = x['key']
52 except KeyError: pass
54 r(KeyboardInterrupt)
55 print '(not testable in a script)'
57 r(MemoryError)
58 print '(not safe to test)'
60 r(NameError)
61 try: x = undefined_variable
62 except NameError: pass
64 r(OverflowError)
65 x = 1
66 try:
67 while 1: x = x+x
68 except OverflowError: pass
70 r(RuntimeError)
71 print '(not used any more?)'
73 r(SyntaxError)
74 try: exec '/\n'
75 except SyntaxError: pass
77 r(SystemError)
78 print '(hard to reproduce)'
80 r(SystemExit)
81 import sys
82 try: sys.exit(0)
83 except SystemExit: pass
85 r(TypeError)
86 try: [] + ()
87 except TypeError: pass
89 r(ValueError)
90 try: x = chr(10000)
91 except ValueError: pass
93 r(ZeroDivisionError)
94 try: x = 1/0
95 except ZeroDivisionError: pass
97 unlink(TESTFN)