0
respostas

Desafio: hora da prática try/catch

import java.util.Scanner;

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

        try {
            System.out.print("Digite o primeiro número: ");
            double num1 = scanner.nextDouble();

            System.out.print("Digite o segundo número (divisor): ");
            double num2 = scanner.nextDouble();

            double resultado = num1 / num2;
            System.out.println("Resultado da divisão: " + resultado);
        } catch (ArithmeticException e) {
            System.out.println("Erro: divisão por zero não é permitida.");
        } catch (Exception e) {
            System.out.println("Erro inesperado: " + e.getMessage());
        }

        System.out.println("Programa finalizado.");
    }
}




public class SenhaInvalidaException extends Exception {
    public SenhaInvalidaException(String mensagem) {
        super(mensagem);
    }
}




import java.util.Scanner;

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

        try {
            System.out.print("Digite sua senha: ");
            String senha = scanner.nextLine();

            if (senha.length() < 8) {
                throw new SenhaInvalidaException("Senha inválida! Ela deve ter pelo menos 8 caracteres.");
            }

            System.out.println("Senha aceita.");
        } catch (SenhaInvalidaException e) {
            System.out.println("Erro: " + e.getMessage());
        }

        System.out.println("Programa finalizado.");
    }
}



public class ErroConsultaGitHubException extends RuntimeException {
    public ErroConsultaGitHubException(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 ConsultaGitHub {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite o nome de usuário do GitHub: ");
        String usuario = scanner.nextLine();

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

        try {
            HttpClient client = HttpClient.newHttpClient();
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(url))
                    .build();

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

            if (response.statusCode() == 404) {
                throw new ErroConsultaGitHubException("Usuário do GitHub não encontrado.");
            }

            System.out.println("Dados do usuário:");
            System.out.println(response.body());

        } catch (ErroConsultaGitHubException e) {
            System.out.println("Erro: " + e.getMessage());
        } catch (IOException | InterruptedException e) {
            System.out.println("Erro ao consultar a API do GitHub: " + e.getMessage());
        }

        System.out.println("Programa finalizado.");
    }
}