Python: if error raised I want to stay in script

I am doing some practice problems from online with python and I have a question about how to stay in a script if an error is raised. For example, I want to read in values from prompt and compare them to a set integer value inside the script. The only problem is that when someone enters something other than a number 'int(value)' (ex. value = 'fs') raises an error and exits the script. I want to have it so if this happens I stay inside the script and ask for another value to be entered at the prompt.

1

7 Answers

Use try/except.

>>> while True: ... try: ... x = int(raw_input("Please enter a number: ")) ... break ... except ValueError: ... print "Oops! That was no valid number. Try again..." ... 
success = false while not success: try: value = raw_input('please enter an integer') int(value) success = true except: pass 

How about catching it?

try: a = int('aaa') except ValueError: print('Still working') 

Ah, you just want to catch the error (as long as it isn't final): see for details? Or are you looking for something else?

for this, you use try... except as explained in the python documentation

Read up on the try: except: idiom here

if you are doing it as a function you can do it as a decorator of the function

def retry(func): def wrapper(*args,**kwargs): while True: try: return func(*args,**kwargs) except Exception as e: print(f"{e} running again") # or simply pass return wrapper @retry def myfunction(): if badthinghappend: raise Error return something 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like