FAILED_PROCESS =  "Process 3" 
 
class ProcessInitError( Exception) : 
	pass
 
class Process: 
	def __init__( self,  name) : 
		if  name ==  FAILED_PROCESS: 
			raise  ProcessInitError
( "Something goes wrong with {name}" .
format ( name
= name
) )  		self.name  =  name
		print( self.name ,  "created" ) 
 
	def stop( self) : 
		print( self.name ,  "stopped" ) 
 
class ProcessManager: 
	def __init__( self) : 
		self.processes  =  [ ] 
 
	def init( self,  name) : 
		process =  Process( name) 
		self.processes .append ( process) 
 
	def release_all( self) : 
		for  process in reversed( self.processes ) : 
			process.stop ( ) 
 
 
pm =  ProcessManager( ) 
try: 
	pm.init ( "Process 1" ) 
	pm.init ( "Process 2" ) 
	pm.init ( "Process 3" ) 
except ProcessInitError as err: 
	print( err) 
	pm.release_all ( ) 
 
RkFJTEVEX1BST0NFU1MgPSAiUHJvY2VzcyAzIgoKY2xhc3MgUHJvY2Vzc0luaXRFcnJvcihFeGNlcHRpb24pOgoJcGFzcwoKY2xhc3MgUHJvY2VzczoKCWRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKCQlpZiBuYW1lID09IEZBSUxFRF9QUk9DRVNTOgoJCQlyYWlzZSBQcm9jZXNzSW5pdEVycm9yKCJTb21ldGhpbmcgZ29lcyB3cm9uZyB3aXRoIHtuYW1lfSIuZm9ybWF0KG5hbWU9bmFtZSkpCgkJc2VsZi5uYW1lID0gbmFtZQoJCXByaW50KHNlbGYubmFtZSwgImNyZWF0ZWQiKQoJCQoJZGVmIHN0b3Aoc2VsZik6CgkJcHJpbnQoc2VsZi5uYW1lLCAic3RvcHBlZCIpCgpjbGFzcyBQcm9jZXNzTWFuYWdlcjoKCWRlZiBfX2luaXRfXyhzZWxmKToKCQlzZWxmLnByb2Nlc3NlcyA9IFtdCgkJCglkZWYgaW5pdChzZWxmLCBuYW1lKToKCQlwcm9jZXNzID0gUHJvY2VzcyhuYW1lKQoJCXNlbGYucHJvY2Vzc2VzLmFwcGVuZChwcm9jZXNzKQoJCQoJZGVmIHJlbGVhc2VfYWxsKHNlbGYpOgoJCWZvciBwcm9jZXNzIGluIHJldmVyc2VkKHNlbGYucHJvY2Vzc2VzKToKCQkJcHJvY2Vzcy5zdG9wKCkKCQkKCnBtID0gUHJvY2Vzc01hbmFnZXIoKQp0cnk6CglwbS5pbml0KCJQcm9jZXNzIDEiKQoJcG0uaW5pdCgiUHJvY2VzcyAyIikKCXBtLmluaXQoIlByb2Nlc3MgMyIpCmV4Y2VwdCBQcm9jZXNzSW5pdEVycm9yIGFzIGVycjoKCXByaW50KGVycikKCXBtLnJlbGVhc2VfYWxsKCkKCXJhaXNlCg==
				
				 
			
				
			
			
				
	
		
		
		
		 
	
		Process 1 created
Process 2 created
Something goes wrong with Process 3
Process 2 stopped
Process 1 stopped
 
	 
		
	 
	
		
		 
	
        Traceback (most recent call last):
  File "./prog.py", line 33, in <module>
    pm.init("Process 3")
  File "./prog.py", line 21, in init
    process = Process(name)
  File "./prog.py", line 9, in __init__
    raise ProcessInitError("Something goes wrong with {name}".format(name=name))
__main__.ProcessInitError: Something goes wrong with Process 3