On Mon, 22 Feb 2016 03:12 am, Ganesh Pal wrote: > Hi Team, > > Iam on python 2.6 , need input on the below piece of code. > > > EXIT_STATUS_ERROR=1 > > def create_dataset(): > """ > """ > logging.info("Dataset create.....Started !!!") > try: > if os.path.ismount("/nfs_mount"): > touch_file("inode_fixcrc.txt") > logging.info("Dataset create.....Done !!!") > else: > raise Exception("/nfs_mount is not mounted. Dataset create > failed !!!") > return False
You should not raised Exception directly. The "return False" line is dead code, it will never be executed. > except Exception as e: > logging.error(e) > sys.stderr.write("Dataset create failed...Exiting !!!") > sys.exit(EXIT_STATUS_ERROR) > return True > > 1. Can we have if else with in a try except block Did you try it to see what would happen? Yes, you can have an if...else block inside a try block. > 2. How can the above code be improved # Use a custom exception type. class CreateDatasetError(OSError): pass def touch_file(path, filename): """Raises OSError or IOError if path is not a mounted mount point, and path/filename cannot be created. """ if not os.path.ismount(path): raise CreateDatasetError('%s is not mounted, create failed.' % path) else: fullname = os.join(path, filename) f = open(fullname, 'w') f.close() EXIT_STATUS_ERROR=1 def create_dataset(): """ """ logging.info("Dataset create.....Started !!!") try: touch_file("/nfs_mount", "inode_fixcrc.txt") except (IOError, OSError) as e: logging.error(e) sys.stderr.write("Dataset create failed...Exiting !!!") sys.exit(EXIT_STATUS_ERROR) logging.info("Dataset create.....Done !!!") -- Steven -- https://mail.python.org/mailman/listinfo/python-list