1
resposta

[Projeto] Hora da pratica - try, catch

EXERCICIO 1:

import java.util.Scanner;

public class Divisao {
    static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.println("Digite o numerador: ");
        int numerador = scanner.nextInt();

        System.out.println("Digite o denominador: ");
        int denominador = scanner.nextInt();

        try {
            int resultado = numerador / denominador;
            System.out.println("Resultado: " + resultado);

        } catch (ArithmeticException e) {
            System.out.println("Erro! Não é permitido divisor nulo.");
        }
    }
}

=====

EXERCICIO 2:

---
public class SenhaInvalidaException extends RuntimeException{

    public SenhaInvalidaException(String mensagem) {
        super(mensagem);
    }
}

----

import java.util.Scanner;

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

        System.out.println("Informe sua senha: ");
        String senha = scanner.nextLine();

        try {
            testeSenha(senha);
            System.out.println("Senha válida. Acesso permitido!");
        } catch (SenhaInvalidaException e) {
            System.out.println("Erro: " + e.getMessage());
        }
    }

    private static void testeSenha (String senha) {
        if (senha.length() < 8) {
            throw new SenhaInvalidaException("A senha deve conter pelo menos 8 caracteres");

        }
    }
}

====
EXERCICIO 3:

public class ErroConsultaGitHubExcepcion extends RuntimeException{
    public ErroConsultaGitHubExcepcion(String mensagem ) {
        super(mensagem);
    }
}

----

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

public class InformacoesGitHub {
    static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("Digite o nome do usuário GitHub que deseja encontrar: ");
        String user = scanner.nextLine();

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

        try {
            HttpClient client = HttpClient.newHttpClient();
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(endereco))
                    .header("Accept", "application/vnd.github.v3+json")
                    .build();

            HttpResponse<String> response = client
                    .send(request, HttpResponse.BodyHandlers.ofString());
            if (response.statusCode() == 404) {
                throw new ErroConsultaGitHubExcepcion("Usuário não detectado, verifique e tente novamente!");

            }

            String json = response.body();
            System.out.println(json);

        } catch (IOException | InterruptedException e) {
            System.out.println("OPSS, houve um problema ao consultar a API do GitHub.");
            e.printStackTrace();
        } catch (ErroConsultaGitHubExcepcion e) {
            System.out.println(e.getMessage());
        }

        System.out.println("Busca finalizada!");
    }
}

1 resposta

Olá, Laila! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de tratamento de exceções para lidar com erros em Java, utilizou muito bem o Scanner para capturar entradas do usuário e ainda compreendeu a importância do lançamento de exceções para tornar o código mais robusto e claro.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!