Questa potrebbe essere una domanda nasca, ma qualunque cosa. Va bene usare le eccezioni per la convalida del modulo? Diciamo che ho un modulo che chiede agli utenti il loro nome ed e-mail, è giusto fare quanto segue?Le eccezioni devono essere utilizzate per la convalida del modulo?
try {
if (empty($_POST["name"])) {
throw new UserRegistrationException("Your name cannot be empty.");
}
if (filter_var($_POST["email"])) {
throw new UserRegistrationException("Invalid email");
}
// Save new user into database
} catch (UserRegistrationException $e) {
// Show errors on screen
}
anche -se questo è in realtà il modo corretto di fare it- se l'utente invia sia un nome vuoto e una e-mail valido, sarebbero entrambe le eccezioni eseguire o solo quella che appare per primo (il nome uno in questo caso)?
Sto usando PHP a proposito.
È sicuramente uno strano modo di utilizzare le eccezioni. "eseguiranno entrambe le eccezioni o solo quella che appare per prima" - è così difficile scrivere 5 righe di codice e vedere te stesso? – zerkms
Solo il primo verrebbe lanciato e catturato, altri saltati. Se hai bisogno di accumulare messaggi di errore, è meglio usare solo una semplice vecchia catena if/else e accodare messaggi su un array. –
@ Michael ho pensato così ... Sembrava comunque una buona idea usare le eccezioni (dato che l'input non valido dovrebbe essere considerato _exceptional_), ma mi limiterò a if/else's – federicot