これは私が得たものです:
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。
raiserx、次の動作を持つ1 つのパラメータを取る関数:
の場合
x == 'So sue me!'、raiser(x)例外E2Exceptionメッセージで発生します"New Yorker"。x != 'So sue me!'が、xまだ int に変換できない場合( を呼び出してint(x))、例外メッセージを必要とraiser(x)せValueErrorずに を発生させます。x奇数intにraiser(x)変換 された場合E2OddException、例外メッセージの要件なしで が発生します。それ以外の場合は、
raiser(x)何もしません (返さない、出力しない、何もしない)。