我是 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 文档中看到了这个“异常层次结构”。我知道在第二个中我们正在传递“异常类”来引发。但对于第一个,我不确定我们传递的“ValueError”是异常类的实例还是异常类的子类?还是我把这整件事都弄错了?提前致谢。
1 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
如有疑问,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。
添加回答
举报
0/150
提交
取消