Python中是否有类似于Java IllegalStateException的类似物?

2022-08-31 14:24:27

在 Java 中,当在处于不适当状态的对象上调用方法时,通常会使用 IllegalStateException。你会在Python中使用什么?


答案 1

在Python中,这将是 ,或者是它的子类。ValueError

例如,尝试关闭的文件会引发“值错误:对已关闭文件的 I/O 操作”。.read()


答案 2

ValueError似乎更像是Java的.IllegalArgumentException

RuntimeError听起来更适合我:

当检测到不属于任何其他类别的错误时引发。关联的值是一个字符串,指示究竟出了什么问题。

大多数时候,您无论如何都不想对此类错误进行任何特殊的错误处理,因此通用应该开箱即用。RuntimeError

如果您确实想以不同的方式处理它,只需从中派生您自己的异常即可:

class IllegalStateError(RuntimeError):
    pass