Programa 1: Divisão de Números com Bloco try/catch
import java.util.Scanner;
public class DivisaoNumeros { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("Digite o primeiro número:");
double numero1 = scanner.nextDouble();
System.out.println("Digite o segundo número:");
double numero2 = scanner.nextDouble();
try {
double resultado = dividir(numero1, numero2);
System.out.println("Resultado da divisão: " + resultado);
} catch (ArithmeticException e) {
System.out.println("Erro: Divisão por zero não é permitida.");
}
}
public static double dividir(double numero1, double numero2) {
if (numero2 == 0) {
throw new ArithmeticException("Divisão por zero não é permitida.");
}
return numero1 / numero2;
}
}
Programa 2: Verificação de Senha com Bloco try/catch import java.util.Scanner;
public class VerificacaoSenha { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("Digite a senha:");
String senha = scanner.nextLine();
try {
verificarSenha(senha);
System.out.println("Senha válida!");
} catch (SenhaInvalidaException e) {
System.out.println("Erro: " + e.getMessage());
}
}
public static void verificarSenha(String senha) throws SenhaInvalidaException {
if (senha.length() < 8) {
throw new SenhaInvalidaException("A senha deve ter pelo menos 8 caracteres.");
}
}
}
class SenhaInvalidaException extends Exception { public SenhaInvalidaException(String mensagem) { super(mensagem); } }
Programa 3: Consulta de Usuário do GitHub com Tratamento de Exceção Personalizada import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;
public class ConsultaGitHub { public static void main(String[] args) { String username = "seu_usuario"; // Substitua pelo nome de usuário do GitHub que você deseja consultar
try {
String userData = consultarUsuarioGitHub(username);
System.out.println("Informações do usuário " + username + ":");
System.out.println(userData);
} catch (ErroConsultaGitHubException e) {
System.out.println("Erro ao consultar usuário: " + e.getMessage());
}
}
public static String consultarUsuarioGitHub(String username) throws ErroConsultaGitHubException {
try {
URL url = new URL("https://api.github.com/users/" + username);
HttpURLConnection conexao = (HttpURLConnection) url.openConnection();
conexao.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(conexao.getInputStream()));
StringBuilder response = new StringBuilder();
String linha;
while ((linha = reader.readLine()) != null) {
response.append(linha);
}
reader.close();
if (conexao.getResponseCode() == 200) {
return response.toString();
} else {
throw new ErroConsultaGitHubException("Usuário não encontrado.");
}
} catch (IOException e) {
throw new ErroConsultaGitHubException("Erro ao fazer a solicitação à API do GitHub.");
}
}
}
class ErroConsultaGitHubException extends RuntimeException { public ErroConsultaGitHubException(String mensagem) { super(mensagem); } }