mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Initial revision
This commit is contained in:
		
							parent
							
								
									19a86e72df
								
							
						
					
					
						commit
						3bead0984c
					
				
					 9 changed files with 913 additions and 0 deletions
				
			
		
							
								
								
									
										91
									
								
								Lib/test/test_exceptions.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								Lib/test/test_exceptions.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,91 @@ | |||
| # 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: | ||||
| 	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) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum