如果要添加不由argparse提供的额外检查,例如:

if variable a == b then c should be not None

…允许自己提高工资吗?
或者,应该改为提高ArgumentError
对于这种情况,常见的做法是什么?假设您添加了一段代码,这段代码几乎类似于库的本地扩展。是否应使用与所扩展的库提供的异常类型相同的异常类型?

最佳答案

提出一个争论错误本身没有什么错。您可以在收到的参数不是预期的参数时使用它,包括检查数字范围。
另外,是的,一般来说,如果您正在编写对某个库的扩展,那么可以使用给定库提供的相同的异常。
关于提高,我不会这样做。您应该总是引发一个特定的异常,以便知道如何在代码中处理它。捕获Exception对象应该在应用程序的最高级别完成,以捕获并记录您错过的所有异常。

关于python - 用手提出ArgumentError是不好的形式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8293325/

10-12 12:44