dedlfix: Warum nicht Error & Exception Überprüfung in Validatoren

Beitrag lesen

Tach!

warum nicht die Überprüfungs Code in Validatoren auslagern:

Was genau ist denn dein Problem, das du zu lösen versuchst?

function checkCustomerID ( int $id ) : bool {
    if ( Database::fetch ( $id ) === null ) {
        throw new Exception( 'can\'t fint Customer ID' );
    } else { // der struktur IF-ELSE zu liebe
        return true;
    }
    // so on
}

Es gibt jedenfalls kein Gesetz, dass if immer ein else benötigt. Der else-Zweig ist hier überflüssig, das return true kann einfach so notiert werden. Wenn die Bedingung zutrifft, wird die Funktion über das throw verlassen und der nachfolgende Code nicht mehr ausführt. Deshalb ist es nicht notwendig, zwischen Code im false-Fall (else) und allgemein auszuführendem Code zu trennen. Im true-Fall wird weder das eine noch das andere ausgeführt, und im false-Fall sowie beides. Daran ändert auch nicht, dass es nur ein return-Statement und keinen allgemein auszuführenden Code gibt.

dedlfix.