mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
| # 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:
 | |
| 	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)
 | 
