can try expect have if else.
Steven D'Aprano
steve at pearwood.info
Mon Feb 22 05:36:06 EST 2016
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
More information about the Python-list
mailing list