【发布时间】:2018-08-09 12:59:21
【问题描述】:
我做了这个例子,但是除了在 Python 中处理错误之外,它没有通过 try 运行。
def my_fun(numCats):
print('How many cats do you have?')
numCats = input()
try:
if int(numCats) >=4:
print('That is a lot of cats')
else:
print('That is not that many cats')
except ValueError:
print("Value error")
我试过了:
except Exception:
except (ZeroDivisionError,ValueError) as e:
except (ZeroDivisionError,ValueError) as error:
我做了其他例子,它能够捕捉到ZeroDivisionError
我正在使用 Jupyter 笔记本 Python 3。
我们非常感谢您对此事的任何帮助。
我在打电话
my_fun(int('six'))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-39-657852cb9525> in <module>()
----> 1 my_fun(int('six'))
ValueError: invalid literal for int() with base 10: 'six'
【问题讨论】:
-
如果您修复缩进并调用函数,您的示例运行良好。
-
“它不运行”- 你是什么意思?你得到什么输出?你调用函数了吗?
-
你需要添加一些库还是什么?另外,我正在使用 my_fun(int('six')) 来测试它。是的,它应该运行,因为它是一个示例,但我可能遗漏了一些东西。
-
是3。我运行它
-
那么你的问题是
my_fun(int('six'))应该是my_fun('six'),不要在没有被抓到的地方调用int(),同时删除input()的行,它不是需要你解析函数的参数
标签: python function exception error-handling try-catch