per rispondere alla tua domanda, andando a vedere un po' come JLabel gestisce questa roba dell'alignment ho trovato questo

codice:
    protected int checkHorizontalKey(int key, String message) {
        if ((key == LEFT) ||
            (key == CENTER) ||
            (key == RIGHT) ||
            (key == LEADING) ||
            (key == TRAILING)) {
            return key;
        }
        else {
            throw new IllegalArgumentException(message);
        }
    }
hai delle costanti, se tutto va bene viene ritornata la chiave: significa che stai passando un valore corretto, altrimenti vai in exception (in particolare IllegalArgumentException che è una derivata di RuntimeException come puoi vedere dalle API e come ti ha spiegato bene Vincenzo).
Ora di tecniche più sofisticate non ne vedo il motivo: bisogna segnalare che viene passato un argomento non consentito e bloccarsi, questa mi resta la soluzione migliore.
Detto questo, che intendi tu per tecniche più sofisticate?