| # Python test set -- part 2, opcodes | 
 |  | 
 | from test_support import * | 
 |  | 
 |  | 
 | print '2. Opcodes' | 
 | print 'XXX Not yet fully implemented' | 
 |  | 
 | print '2.1 try inside for loop' | 
 | 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 | 
 | if n <> 90: | 
 | 	raise TestFailed, 'try inside for' | 
 |  | 
 |  | 
 | print '2.2 raise class exceptions' | 
 |  | 
 | class AClass: pass | 
 | class BClass(AClass): pass | 
 | class CClass: 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: raise TestFailed | 
 | except AClass, v: | 
 | 	if v != b: raise TestFailed | 
 |  | 
 |  | 
 | try: raise b | 
 | except AClass, v: | 
 | 	if v != b: raise TestFailed | 
 |  | 
 | try:  raise BClass, a | 
 | except TypeError: pass |