i want to write a function to report the different results from another function there are some exceptions among these results but I cannot convert them into if statement
example :
if f(x) raise a ValueError, then my function has to return a string 'Value' if f(x) raise a TypeError, then my function has to return a string 'Type
But I don't know how to do this in Python. Can someone help me out.
My Code is like this: -
def reporter(f,x):
if f(x) is ValueError():
return 'Value'
elif f(x) is E2OddException():
return 'E2Odd'
elif f(x) is E2Exception("New Yorker"):
return 'E2'
elif f(x) is None:
return 'no problem'
else:
return 'generic'
You have try-except
to handle exceptions in Python: -
def reporter(f,x):
try:
if f(x):
# f(x) is not None and not throw any exception. Your last case
return "Generic"
# f(x) is `None`
return "No Problem"
except ValueError:
return 'Value'
except TypeError:
return 'Type'
except E2OddException:
return 'E2Odd'
def reporter(f,x):
try:
if f(x) is None:
return 'no problem'
else:
return 'generic'
except ValueError:
return 'Value'
except E2OddException:
return 'E2Odd'
except E2Exception:
return 'E2'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With