- Crie um programa simples que solicita dois números ao usuário e realiza a divisão do primeiro pelo segundo. Utilize o bloco try/catch para tratar a exceção que pode ocorrer caso o usuário informe 0 como divisor.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1,num2;
System.out.println("Informe o numerador");
num1 = sc.nextInt();
System.out.println("Informe o denominador");
num2 = sc.nextInt();
try {
int resultado = num1/num2;
System.out.println("O resultado deste divisão é: "+resultado);
}catch (ArithmeticException e ){
System.out.println("Erro: Divisão por zero não é permitido!!!");
}
}
}
- Crie um programa que lê uma senha do usuário. Utilize o bloco try/catch para capturar a exceção SenhaInvalidaException, uma classe de exceção personalizada que deve ser lançada caso a senha não atenda a critérios específicos (por exemplo, ter pelo menos 8 caracteres).
package excessoes;
public class senhaInvalida extends RuntimeException {
public senhaInvalida(String mensagem) {
super(mensagem);
}
}
public class Main {
public static void main(String[] args) {
String senha;
System.out.println("Digite sua senha: ");
senha = sc.next();
try {
SenhaValidar(senha);
}catch (senhaInvalida e){
System.out.println(e.getMessage());
}
}
public static void SenhaValidar(String senha){
if (senha.length()<8){
throw new senhaInvalida("A senha deve contar no minimo 8 caracteres");
}
}
}
}
- Desenvolva um programa em Java que permite aos usuários consultar informações sobre um usuário do GitHub (utilize a API pública do GitHub para obter os dados). Crie uma classe de exceção personalizada, ErroConsultaGitHubException, que estende RuntimeException. Lance essa exceção quando o nome de usuário não for encontrado. No bloco catch, trate de forma específica essa exceção, exibindo uma mensagem amigável.
public class ErroConsulta extends Throwable {
public ErroConsulta(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 main2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Digite o usuario de Pesquisa: ");
String username = sc.next();
String enderecoApi = "https://api.github.com/users/" + username;
try {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(enderecoApi))
.header("Accept", "application/vnd.github.v3+json")
.build();
HttpResponse<String> response = client
.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 404){
throw new ErroConsulta("Usuário não encontrado");
}
String json = response.body();
System.out.println(json);
}catch (ErroConsulta e ){
System.out.println(e.getMessage());
}catch (IOException | InterruptedException e){
System.out.println("Erro durante a consulta !!!");
}
}
}