Informática Múltipla Escolha

Considere as linhas apresentadas a seguir, extraídas de um método em uma aplicação Java que acessa um banco de dados MySQL: Ao executar as linhas de código podem ocorrer, respectivamente, as seguintes exceções:

Considere as linhas apresentadas a seguir, extraídas de um método em uma aplicação Java que acessa um banco de dados MySQL:

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/b", "r", "p");

Ao executar as linhas de código podem ocorrer, respectivamente, as seguintes exceções:

  1. InterruptedException e NullPointerException
  2. IOException e IllegalArgumentException
  3. ClassNotFoundException e SQLException
  4. InterruptedException e SQLException

Resolução completa

Explicação passo a passo

C
Alternativa C

Questão de Java - JDBC e Tratamento de Exceções

A questão aborda o tratamento de exceções no uso da API JDBC (Java Database Connectivity) para conectar aplicações Java a bancos de dados MySQL. Vamos analisar cada linha de código para identificar os riscos de exceção correspondentes.

Análise do Código

O trecho de código apresenta duas operações críticas:

  1. Carregamento do Driver:
    Class.forName("com.mysql.jdbc.Driver");

Este comando instrui a JVM a carregar a classe do driver MySQL dinamicamente. Para isso, a máquina virtual deve encontrar essa classe no classpath.

  1. Estabelecimento da Conexão:
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/b", "r", "p");

Este comando tenta abrir uma conexão física com o banco de dados utilizando as credenciais fornecidas (URL, usuário "r" e senha "p").

Detalhamento das Exceções

Para identificar a resposta correta, devemos verificar quais exceções são declaradas ou levantadas nativamente por esses métodos:

  • Linha 1 (Class.forName):
  • Se a classe especificada ("com.mysql.jdbc.Driver") não estiver disponível no classpath da aplicação, o método lança uma ClassNotFoundException. Esta é uma exceção verificada (checked exception) obrigatória de ser tratada ou declarada.
  • Linha 2 (DriverManager.getConnection):
  • Qualquer erro durante o processo de conexão (como servidor inacessível, porta incorreta, usuário/senha inválidos ou configuração de URL ruim) resulta no lançamento de uma SQLException. Também é uma exceção verificada.

Comparativo com as Alternativas

MétodoRisco PrincipalExceção Lançada
Class.forName()Classe não encontrada no classpathClassNotFoundException
DriverManager.getConnection()Erro de comunicação/credencialSQLException

Analisando as opções:

  • A: InterruptedException ocorre em threads bloqueadas; NullPointerException ocorre ao acessar objetos nulos. Não são as exceções primárias destas chamadas.
  • B: IOException é muito genérico; IllegalArgumentException é para parâmetros inválidos, mas o JDBC usa SQLException para erros de SQL/conexão.
  • C: Corresponde exatamente à análise acima.
  • D: InterruptedException não se aplica à chamada Class.forName.

Conclusão

As exceções que podem ocorrer, respectivamente, na tentativa de carregar o driver e na tentativa de conectar ao banco de dados, são ClassNotFoundException e SQLException.

Alternativa C

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Informática

Ver mais Informática resolvidas

Tem outra questão de Informática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.