


class myerror(object):
	
	def __init__(self):
		self.error_list=[]
		self.debug=False
		
	def debug_on(self):
		self.debug=True
		print "Debug mode!"
		
	def debug_mode(self):
		return self.debug
	
	def push_error(self,error,info={}):
		self.error_list.append(error)
		
	def print_error(self,error,inf={}):
		self.push_error(error)
		if len(inf)!=0:
			print "\nFile '%s', function '%s', line %s"%(inf['filename'],inf['funcname'],inf['linenum'])
			print "\tFile '%s', function '%s', line %s"%(inf['filename1'],inf['funcname1'],inf['linenum1'])
		for error_line in self.error_list:
			print "Error:%s"%(error_line)
		if self.debug:
			raise
		else:
			exit(1)