ValueError() 是 python3 中异常 class 的一个实例吗?

is ValueError() an instance of the Exception class in python3?

我是 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”。

我知道在第二个中我们通过 "Exception Class" 来筹集资金。但对于第一个,我不确定我们传递的 "ValueError" 是 异常实例 class 还是 subclass 异常 class?

还是我弄错了整件事?

提前致谢。

如有疑问,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 的子类。