ValueError()是python3中Exception类的实例吗?

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

我是python的初学者。我必须解释以下代码行之间的区别:

except ValueError as err:
    print(err,"in methodA is occured")
    raise ValueError("A Value Error")  

except ValueError as err:
    print(err,"in methodA is occured")
    raise Exception("A Value Error") 

我在python文档中看到了这个“ Exception hierarchy”。

[我知道在第二个例子中,我们将传递“异常类”以进行引发。但是对于第一个,我不确定我们传递的“ ValueError”是异常类的实例还是异常类的子类

或者我把这件事弄错了吗?

预先感谢。

python python-3.x exception instance subclass
1个回答
0
投票
有疑问时,help函数通常很有用,只需启动Python控制台并执行help(ValueError)即可获得以下信息:

Help on class ValueError in module builtins: class ValueError(Exception) | Inappropriate argument value (of correct type). | | Method resolution order: | ValueError | Exception | BaseException | object | ...

更详细地讲:ValueErrorclassValueErrorException的子类,ExceptionBaseException的子类,BaseExceptionobject的子类。 
© www.soinside.com 2019 - 2024. All rights reserved.