我正在尝试运行一个接受数字的基本提示,然后对其运行递归函数。
任何负数都会导致递归错误,因为函数无法处理它们。
现在,我通过 Python 了解到,像这样的情况需要
“尝试/例外”模型。这是我想出的:
try:
choice = int(input('Enter a number: '))
INSERT RECURSIVE FUNCTION HERE
except RecursionError as err:
print('Error: ', str(err))
此异常不起作用,因为它仍然以红线显示整个递归过程,而我的异常仅替换最后一行。我知道我可以通过逻辑轻松解决这个问题,例如:
if choice < 0:
print("Error: Bro, We don't take no Negative Numbers around here.")
然而,我被告知我们通常希望避免在 Python 中“通过逻辑解决错误”,而是通过“try/ except”模型进行工作。
我可以做什么来通过“尝试/例外”模型而不是“如果/否则”拒绝负数?
如果你能帮助我理解一种对 ValueError 做出反应的方法,那将是另一个很大的帮助。
假设您只想打印正数,如果该数字为负数,则会引发异常
a = int(raw_input())
if a < 0:
myError = ValueError('a should be a positive number')
raise myError
print(a)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)