1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
# Python test set -- part 2, opcodes
from test_support import *
print_test('Opcodes (test_opcodes.py)', 1)
print_test('try inside for loop', 2)
n = 0
for i in range(10):
n = n+i
try: 1/0
except NameError: pass
except ZeroDivisionError: pass
except TypeError: pass
try: pass
except: pass
try: pass
finally: pass
n = n+i
assert n == 90, 'try inside for'
print_test('raise class exceptions')
class AClass: pass
class BClass(AClass): pass
class CClass: pass
class DClass(AClass):
def __init__(self, ignore):
pass
try: raise AClass()
except: pass
try: raise AClass()
except AClass: pass
try: raise BClass()
except AClass: pass
try: raise BClass()
except CClass: raise TestFailed
except: pass
a = AClass()
b = BClass()
try: raise AClass, b
except BClass, v:
assert v == b, 'class exceptions'
else: raise TestFailed
try: raise b
except AClass, v:
assert v == b, 'class exceptions'
# not enough arguments
try: raise BClass, a
except TypeError: pass
try: raise DClass, a
except DClass, v:
assert isinstance(v, DClass)
|