如果它们都来自某些特定于包的异常,是否存在大量不同异常的潜在问题?例如,我有FooException
。然后,我从该包特定基地OutOfRangeOfSomethingException
获得RanOutOfBufferException
,OverflowMapBoundaryException
,FooException
。我知道拥有这个基础可以让用户和我自己
try:
#stuff
except FooException:
#Catch all my exceptions, but let default Python ones still raise
但这有什么其他问题吗?我应该尝试一些更普遍的例外,还是许多特定的例外?
N.B。具体而言,我所说的是能够在多个地方使用。我不打算 IntWasSlightlyTooLargeForInitializationOfMemoryObjectException
。
答案 0 :(得分:4)
您拥有的异常类型越多,您必须维护的异常类型就越多。这是一个关于你需要对异常进行细粒度控制的问题,而不是你想要多少继续维持这种精细级别的数据。拥有更丰富的异常层次结构并没有真正的性能损失,问题在于是否真的有用这么深的东西。