Eigene 'sprechende' Exceptions sind manchmal sinnvoll, um Verarbeitung von Kompositionen kontrolliert abzubrechen zB APIs mit Try oder Future. Ganze Hierarchien sind eher selten. Ob dabei die Original-Exception hilfreich ist, ist eine Einzelfallentscheidung.