Das mit den Fehlerwerten verstehe ich nicht. Wie kann es denn bei Ausnahmen ein Problem sein herauszufinden welche Funktion die auslöst? Diese Information ist im Traceback enthalten. Das klingt als würden da mit Fehlerwert und vielen ``if``-Abfragen letztlich Ausnahmen selbst nachgebastelt.
Und Ausnahmen heisst ja auch nicht das man die nicht auch direkt beim Aufrufer behandeln kann, ist dann halt ``try``/``except``/``else`` statt ``if``/``else``. Man ist dann aber flexibler welche Operationen vom ``try`` erfasst werden, dass heisst man muss bei mehreren Aufrufen nicht bei *jedem* manuell einen Fehlerrückgabewert prüfen, sondern kann die auch zusammenfassen. Und man muss nicht beim direkten Aufrufer die Ausnahmefälle behandeln, sondern kann das auch in höhere Ebenen verschieben. Naja, halt die Gründe warum Fehlerrückgabewerte doof und nervig sind, und man Ausnahmen erfunden hat. 🙂