Python 3.x 为什么在自定义异常中有一个super()

Python 3.x 为什么在自定义异常中有一个super(),python-3.x,exception,Python 3.x,Exception,我已经看到过很多例子,其中自定义异常是通过以下两种方式定义的: E1级(例外): 通过 E2类(例外情况): 定义初始化(self,msg): 超级()。\uuuuu初始化(msg) 为什么使用第二种方法?我看到两种方法都会产生相同的结果: e1=e2=None >>> >>>尝试: ... 提升E1(“E1已提升”) ... 例外情况除外,如e: ... e1=e ... >>> >>>尝试: ... 升起E2('升起E2') ... 例外情况除外,如e: ..

我已经看到过很多例子,其中自定义异常是通过以下两种方式定义的:

E1级(例外):
通过
E2类(例外情况):
定义初始化(self,msg):
超级()。\uuuuu初始化(msg)
为什么使用第二种方法?我看到两种方法都会产生相同的结果:

e1=e2=None >>> >>>尝试: ... 提升E1(“E1已提升”) ... 例外情况除外,如e: ... e1=e ... >>> >>>尝试: ... 升起E2('升起E2') ... 例外情况除外,如e: ... e2=e ... >>> >>>e1 E1('E1被提升') >>> >>>e2 E2(“E2已被提出”) >>> >>> >>>str(e1) “E1被提出” >>>str(e2) “E2被提出” 我错过了什么