>> How do we reraise the exception in python , I have used raise not >> sure how to reraise the exception > > raise with no arguments will reraise the exception currently being handled. > > except Exception: > logging.error("something went wrong") > raise
Thanks Ian for taking time and looking into the code , o k raise keyword for raising exception is fine . >>>> assert ret ==0,"ERROR (ret %d): " \ >>>> " \nout: %s\nerr: %s\n" % (ret, out, err) >>>> except Exception as e: >>>> print("Failed to run %s got %s" % (cmd, e)) >>>> return False >>>> return True >>>> >>>> def prep_host(): >>>> """ >>>> Prepare clustering >>>> """ >>>> for cmd in ["ls -al", >>>> "touch /tmp/file1", >>>> "mkdir /tmp/dir1"]: >>>> try: >>>> if not run_cmd_and_verify(cmd, timeout=3600): >>>> return False >>>> except: >>> >>> What exceptions are you expecting this to catch? run_cmd_and_verify >>> already catches any expected exceptions that it raises. In my case the exception is nothing but the error example if we plan to run the command say #ifconfig -a and the command fails because of a type ( say u ran #igconfig -a). we will the output as # Failed to run igconfig -a got Error (ret=127) out : error: command not found: igconfig So the execption is the error i.e Error (ret=127) out : error: command not found: igconfig, Iam fine with this behaviour. > > But that exception is already caught by the run_cmd_and_verify > function, so what exception are you expecting to be caught *here*? I wanted to run the command in a loop and have a fxn for the pattern that repeats in this case the function is run_cmd_and_verify , the only known way to me was using try with expect I thought I will use try and have pass in except which you don't recommend for cmd in ["ls -al", "touch /tmp/file1", "mkdir /tmp/dir1"]: try: if not run_cmd_and_verify(cmd, timeout=3600): print "running command failed " return False except: pass > You should virtually never just pass in an exception handler. Either > handle the exception, or log it and reraise it. If you're going to do > neither of those things, then don't use a try-except at all. What alternative do I have other than try-expect ? can try - else be used for my case? Regards, GPal -- https://mail.python.org/mailman/listinfo/python-list