Python中是否存在类似于Java IllegalStateException的异常?
IllegalStateException通常在Java中用于在不适当状态下调用对象的方法。在Python中,您会使用什么替代方法?听起来很适合我: 当内置操作或函数接收到类型正确但值不正确的参数,并且该情况没有通过更精确的异常(如)来描述时引发Python中是否存在类似于Java IllegalStateException的异常?,java,python,exception,Java,Python,Exception,IllegalStateException通常在Java中用于在不适当状态下调用对象的方法。在Python中,您会使用什么替代方法?听起来很适合我: 当内置操作或函数接收到类型正确但值不正确的参数,并且该情况没有通过更精确的异常(如)来描述时引发 在Python中,这将是ValueError,或者它的一个子类 例如,尝试.read()关闭的文件会引发“ValueError:关闭文件上的I/O操作”ValueError看起来更像是Java的IllegalArgumentException 听起来更
在Python中,这将是
ValueError
,或者它的一个子类
例如,尝试
.read()
关闭的文件会引发“ValueError:关闭文件上的I/O操作”ValueError
看起来更像是Java的IllegalArgumentException
听起来更适合我:
当检测到不属于任何其他类别的错误时引发。关联的值是一个字符串,它指明了发生了什么错误
大多数情况下,您无论如何都不想对这样的错误执行任何特殊的错误处理,因此通用的RuntimeError
应该已经足够了
如果您确实希望以与其他错误不同的方式处理它,只需从中派生您自己的异常:
class IllegalStateError(运行时错误):
通过
“不适当的值”非常模糊,我认为它适用于向函数传递参数,在某些情况下可以,但由于对象的当前状态无效。如果函数没有参数怎么办?在Python中,self
是一个参数!