* srinivas hn <hnsr...@gmail.com> [110616 11:06]: > Hi Tim, > > import warnings > > with warnings.catch_warnings(): > warnings.simplefilter('error', MySQLdb.Warning) > try: > cursor.execute(insert_query) > conn.commit() > return 'Success' > except MySQLdb.Error, error: > logging.error("Error in insertion %s query is ", error) > return 'Failure' > finally: > conn.close() > > try: > xyz = do_query(insert_query) > except MySQLdb.Warning, warning: > logging.warning(warning) Hi Again srinavas: For an overview, I need to interate thru a file, executing each line as an insert statement. Based on your valuable input, I have the following: ## ------------------------------------------------ def __process_line(self): """For each line in the file ..""" try : self.db.simple(self.read()) except MySQLdb.Warning,e: ## catching warnings here, log, count, abort ## or some other action based on implementation print(e) ## and count, log .... etc ## ------------------------------------------------ def simple(self,insert_query): """Executing one line.""" cursor = self.__rdb with warnings.catch_warnings(): warnings.simplefilter('error', MySQLdb.Warning) cursor.execute(insert_query)
## This works well, but I'd like to do something further: Control is transfered back to the calling function's `except' block when the first warning is found. There can be and are multiple warning conditions on each line. Is there a way to trap all of them? I am unclear from the docs that I am reading at http://docs.python.org/library/warnings.html whether that can be done. Thanks again -- Tim tim at johnsons-web dot com or akwebsoft dot com http://www.akwebsoft.com -- http://mail.python.org/mailman/listinfo/python-list