这就是我得到的:
class E2Exception(Exception):
pass
class E2OddException(E2Exception):
pass
def raiser(x):
if x == "So sue me!":
raise E2Exception
elif x != "So sue me!" and x not int:
raise ValueError
elif int(x) % 2 != 0:
raise E2OddException()
else:
return None
如果 x 不能转换为 int,我们怎么说呢?
另外,我收到此错误:
builtins.TypeError:异常必须从 BaseException 派生
这是什么意思?
下面的说明
E2Exception
: 一个异常类,它是 的子类Exception
。
E2OddException
: 一个异常类,它是 的子类E2Exception
。
raiser
,一个接受一个参数的函数x
,具有以下行为:
如果
x == 'So sue me!'
,则raiser(x)
引发E2Exception
异常消息"New Yorker"
。如果
x != 'So sue me!'
, 但x
仍不能转换为 int (通过调用int(x)
),则raiser(x)
引发 aValueError
,对异常消息没有任何要求如果
x
转换为奇数int
,raiser(x)
则引发E2OddException
, 对异常消息没有任何要求。否则,
raiser(x)
什么都不做(不返回,不打印,什么都不做)。