Bom dia!
Segui os passos do vídeo e infelizmente não saiu a mensagem de erro quando não há conexão no Device.
Código abaixo:
public async Task FazerLogin(Login login) {
try {
using (var cliente = new HttpClient()) {
var camposFormulario = new FormUrlEncodedContent(new[] {
new KeyValuePair<string, string>("email", login.Email),
new KeyValuePair<string, string>("senha", login.Senha)
});
cliente.BaseAddress = new Uri("https://aluracar.herokuapp.com/login");
var resultado = await cliente.PostAsync("/login", camposFormulario);
if (resultado.IsSuccessStatusCode) {
MessagingCenter.Send<Usuario>(new Models.Usuario(), "SucessoLogin");
}
else {
MessagingCenter.Send<LoginException>(new LoginException("Usuário ou Senha Incorretos!"), "FalhaLogin");
}
}
}
catch {
MessagingCenter.Send<LoginException>(new LoginException(@"Ocorreu um erro de comunicação com o Servidor!
Por favor, verifique a sua conexão e tente novamente mais tarde."),
"FalhaLogin");
throw;
}
}
public class LoginException : Exception {
public LoginException(string message) : base(message) { }
}
Obs.: desativei a conexão de dados com o emulador, e os demais informativos de Mensageria funcionam normais. Apenas esse Bloco Cath que não funciona. Ao invés da mensagem, acaba por parar a execução no Visual Studio como se não houvesse tratamento.
Abs.