我是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”是异常类的实例还是异常类的子类?
或者我把这件事弄错了吗?
预先感谢。
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
|
...
更详细地讲:ValueError
是class
,ValueError
是Exception
的子类,Exception
是BaseException
的子类,BaseException
是object
的子类。