Dire, ho una funzione, RegisterUser()
che contiene i dettagli di registrazione di un utente come il loro nome utente, nome e password e li registra se non ci sono dati non validi. Per tali funzioni, è importante segnalare tutti gli errori contemporaneamente, invece di fermarsi al primo test in cui la convalida fallisce.
Un'eccezione è probabilmente fuori questione qui, poiché la pratica generale è quella di gettarli immediatamente una volta che si è verificato un errore. L'unico modo che potrei pensare di fare questo è usare un campo intero in cui vengono restituiti e restituiti vari valori di errore; tuttavia, non ho davvero visto questo essere usato ovunque; per non parlare del codice molto complicato e confuso che la gestione richiederebbe:
rv = RegisterUser(...)
err_msg = []
if (rv != 0) {
err_msg_lookup_table = ["The username was invalid.", "That username is already taken up.", ...]
for (i = 1; i < MAX_INT_VAL; i *= 2) {
if (rv & i == i) {
err_msg.push(err_msg_lookup_table[log(i, 2)])
}
}
ShowMessage(err_msg)
}
C'è un modo migliore per farlo?
Questo è un duplicato ma non ha risposte.