1
resposta

Desafio: Try/Catch/Exception

Compartilhando meus códigos de desafio:


public class Divisao {
    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);

        System.out.println("Informe o dividendo: ");
        int dividendo = leitor.nextInt();

        System.out.println("Informe o divisor: ");
        int divisor = leitor.nextInt();

        try {
            int resultado = dividendo / divisor;
            System.out.println("Resultado da divisão: " + resultado);
        } catch (ArithmeticException e) {
            System.out.println("Erro! Divisão por zero.");
            System.out.println(e.getMessage());
        }

    }
}
import br.com.alura.desafiotratamentoerro.exception.SenhaInvalidaException;

import java.util.Scanner;

public class VerificadorDeSenha {
    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);

        System.out.println("Digite a sua senha: ");
        String senha = leitor.nextLine();

        try {
            validarSenha(senha);
            System.out.println("Senha válida! Acesso permitido!");
        } catch (SenhaInvalidaException e) {

            System.out.println("Erro: " + e.getMessage());
        }
    }

    private static void validarSenha(String senha) {
        if(senha.length() < 8) {
            throw new SenhaInvalidaException("A senha deve ter pelo menos 8 caracteres!");
        }
    }
}
package br.com.alura.desafiotratamentoerro.exception;

public class SenhaInvalidaException extends RuntimeException {
    public SenhaInvalidaException(String mensagem) {
        super(mensagem);
    }
}
import br.com.alura.desafiotratamentoerro.exception.ErroConsultaGitHubException;

import java.io.IOException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.util.Scanner;

public class ConsultaGitHub {
    public static void main(String[] args) throws IOException, InterruptedException {
        Scanner leitor = new Scanner(System.in);

        System.out.println("Digite o nome de usuário do GitHub para a busca: ");
        String usuario = leitor.nextLine();

        String endereco = "https://api.github.com/users/" + usuario;

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(endereco))
                .build();

        HttpResponse<String> response = client
                .send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println(response.body());
        try {
            validarUsuario(response);
        } catch (ErroConsultaGitHubException e) {
            System.out.println("Erro: " + e.getMessage());
        }

    }
    private static void validarUsuario(HttpResponse response) {
        if(response.statusCode() != 200) {
            throw new ErroConsultaGitHubException("Usuário não encontrado!");
        }
    }
}
package br.com.alura.desafiotratamentoerro.exception;

public class ErroConsultaGitHubException extends RuntimeException {
    public ErroConsultaGitHubException(String message) {
        super(message);
    }
}
1 resposta

Oi, Luiz! Tudo bem?

Excelente código, parabéns pelo projeto! Espero que esteja gostando do curso! Colocar em execução as atividades propostas pelo professor em aula é uma prática muito importante para internalizarmos o conteúdo. Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!