Considera il seguente metodo:
public async Task LoginAsync()
{
if (!CanLoginAsyncExecute()) throw new ValidationException();
try
{
StartLoading();
await _authenticationService.LoginAsync(Email, Password);
}
catch (LoginException e)
{
_logger.Error(e);
throw;
}
catch (ServiceException e)
{
_logger.Error(e);
throw;
}
}
Sto avendo difficoltà a decidere se dovessi eliminare le mie eccezioni al livello dell'interfaccia utente che chiama questo metodo o gestisce gli errori qui? È un progetto xamarin personale in modo da poter gestire l'errore nella VM (utilizzando finestre di dialogo o qualcosa del genere). È una buona pratica "silenziosamente" gestire gli errori nel livello della logica di business e rilanciare le eccezioni? Quindi, se il metodo non genera niente, il login ha successo? O dovrei restituire un valore booleano o qualcosa per indicare che l'accesso è andato a buon fine?