【发布时间】:2021-08-19 08:15:46
【问题描述】:
当我的函数被赋予无效角色时,我试图引发异常。我的代码如下
def __init__(self, role, name, health):
try:
if role == 'Grooble' or role == 'Throve' or role == 'Plaguelet':
self.role = str(role)
except ValueError:
print("Invalid Whosit role")
测试是
try:
oof = Whosit('Famine', 'Fred', 0)
print("Did you forget to raise an exception?")
except ValueError as e:
print(e)
Famine 是一个无效角色,但我正在努力让我的代码看到这个 ValueError 并打印“Invalid Whosit role”
【问题讨论】:
-
请注意,在这种情况下,您可能希望使用
enum来表示角色。但是,except仅在引发异常时运行。评估为False的if语句不会引发异常。只需使用else。
标签: python python-3.x except