Python 等同于 Java 的 UnsupportedOperationException 是什么?
What is the Python equivalent of Java's UnsupportedOperationException?
我正在查看 Python 的 built-in exceptions and wondering what the closest equivalent of Java's UnsupportedOperationException
is. NotImplementedError
is close but seems to suggest something slightly different. Should I be using RuntimeError
或实施我自己的 Exception
?
最接近的等效方法是不实施不受支持的方法。如果您尝试使用不存在的方法,则产生的异常是 AttributeError
.
我不知道 Java,但看看您链接到的内容(以及一些在线示例),我会说没有单一的等价物。这是对异常类型的广泛描述。
如果由于操作数的类型错误而导致操作不被支持,您将使用 TypeError。如果因为值以某种方式不兼容而不受支持,则可以使用 ValueError。或者,正如 user2357112 指出的那样,当您尝试访问一个不存在的方法时,您将什么都不做并得到一个 AttributeError。
根据 Python 文档页面,NotImplementedError 似乎是一个合适的选择。
我正在查看 Python 的 built-in exceptions and wondering what the closest equivalent of Java's UnsupportedOperationException
is. NotImplementedError
is close but seems to suggest something slightly different. Should I be using RuntimeError
或实施我自己的 Exception
?
最接近的等效方法是不实施不受支持的方法。如果您尝试使用不存在的方法,则产生的异常是 AttributeError
.
我不知道 Java,但看看您链接到的内容(以及一些在线示例),我会说没有单一的等价物。这是对异常类型的广泛描述。
如果由于操作数的类型错误而导致操作不被支持,您将使用 TypeError。如果因为值以某种方式不兼容而不受支持,则可以使用 ValueError。或者,正如 user2357112 指出的那样,当您尝试访问一个不存在的方法时,您将什么都不做并得到一个 AttributeError。
根据 Python 文档页面,NotImplementedError 似乎是一个合适的选择。