当用户使用被视为无效选择的参数调用函数时,应该引发什么异常?

问题描述 投票:0回答:1

假设我有以下代码:

#!/usr/bin/env python3
from torch import Tensor
from typing import Literal


def reduce(x: Tensor, reduction: Literal["mean", "sum", "none"] = "mean") -> Tensor:
    if reduction == "mean":
        return x.mean()
    elif reduction == "sum":
        return x.sum()
    elif reduction == "none":
        return x
    else:
        raise Exception(f"Invalid choice: {reduction!r}.")

我只是想知道在这种情况下应该使用内置Python异常的规范选择(代替上面编码的

Exception
)。是
ValueError
吗?还是会是别的什么?

python exception error-handling
1个回答
0
投票

是的,那是

ValueError

当操作或函数接收到具有正确类型但值不合适的参数时引发,并且这种情况没有通过更精确的异常来描述,例如

IndexError

© www.soinside.com 2019 - 2024. All rights reserved.