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...
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.
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