Prévia do material em texto
PERGUNTA 1
1. A linguagem Java dispõe do bloco try-catch e da cláusula throws, usados para o
tratamento de exceções. Nesse sentido, analise as asserções a seguir e a relação
proposta entre elas.
I. O bloco try contém um conjunto de instruções em que uma exceção pode ocorrer.
II. É sempre obrigatório um bloco try ser seguido por um bloco catch, que trata a
exceção, caso ela ocorra.
Analisando essas asserções, é correto afirmar que:
a. as duas asserções são verdadeiras, mas a segunda não justifica a primeira.
b. a primeira asserção é falsa e a segunda é verdadeira.
c. a primeira asserção é verdadeira e a segunda é falsa.
d. as duas asserções são verdadeiras e a segunda justifica a primeira.
e. as duas asserções são falsas.
PERGUNTA 2
1. Uma exceção é uma indicação de algum problema na execução de um programa de
computador. Analise as afirmações a seguir e escolha a alternativa correta.
I. É mais vantajoso usar o tratamento de erros usando as condições (if).
II. O tratamento de exceções deixa o código mais legível e eficiente.
III. NullPointerException ocorre quando se tenta fazer coerção equivocada de um objeto.
IV. O tratamento de exceções em Java é feito somente por try/catch, de modo que todas as
exceções lançadas por um programa necessitem obrigatoriamente ser capturadas e tratadas.
Apenas III está correta.
Apenas III e IV estão corretas.
Apenas II está correta.
Apenas I e II estão corretas.
Apenas I está correta.
PERGUNTA 3
1. Um analista foi solicitado para verificar os códigos a seguir e emitir uma opinião sobre o
mesmo. Assinale a alternativa correta.
public class A {
public void f(int a){
if (a < 10) throw new NumberFormatException();
System.out.println("a = "+ a);
}
}
import java.io.IOException;
public class B{
public void f(int a) throws IOException {
if (a < 10) throw
new IOException ("valor do argumento de f() é " + a + " (menor que 10)");
System.out.println("a = "+ a);
}
}
import java.io.IOException;
public class TestaException{
public static void main(String[] args) throws IOException{
B x = new B();
int a = 4;
x.f(a);
System.out.println("fim do metodo main em TestaException");
}
}
O código da classe TestaExcecao não vai executar.
Considerando a classe TestaException, a exceção que pode ser lançada por f() é
verificada (IOException), e o método main() tem a cláusula "throws IOException", o que
faz a compilação ocorrer corretamente.
A exceção que pode ser lançada por f() é verificada, na Classe A.
A exceção que pode ser lançada por f() é não verificada, na Classe B.
O código da classe TestaExcecao não compila corretamente, pois não tem try/catch.
PERGUNTA 4
1. A linguagem Java tem um mecanismo de tratamento de exceções simples e organizado
em três categorias. Nesse sentido, avalie as afirmativas a seguir, em relação aos três
tipos de exceções.
1 – Exception (checked).
2 – RuntimeException (unchecked).
3 – Error (unchecked).
I. Representam erros internos na aplicação, mas que, em geral, não são tratáveis pelo
programador.
II. Representam erros externos à aplicação, que não são contornáveis pelo
programador.
III. São situações excepcionais em um programa, em tempo de execução, que podem
ser contornadas.
Assinale a alternativa que relaciona, adequadamente, os dois grupos de
informações.
a. 1-I; 2-II; 3-III.
b. 1-I; 2-III; 3-II.
c. 1-III; 2-II; 3-I.
d. 1-II; 2-I; 3-III.
e. 1-III; 2-I; 3-II.
PERGUNTA 5
1. Uma das formas mais eficientes de indicar ao usuário algum tipo de falha específica, ou
mesmo preparar o sistema para possível manifestação de erro (como tentativa de acesso com
um banco de dados on-line, mas sem internet funcionando) é a partir do tratamento de
exceções. O tratamento de exceções, dentre diversos motivos, é importante por possibilitar
remover a lógica-padrão na tratativa de erros do programa. Dessa forma, evita-se uma queda
no desempenho do aplicativo. Felix (2016, p. 111) afirma que, “ao lançar ou se tratar exceções,
é possível aprimorar a clareza do programa”.
FELIX, R. (org.). Programação orientada a objetos. São Paulo: Pearson Education do Brasil,
2016.
Sobre o texto anterior, avalie as afirmativas a seguir.
I. A manipulação de exceção em Java é um dos mecanismos poderosos para lidar com
exceções de tempo de execução e eliminá-las; portanto, ajuda a minimizar as exceções e a se
recuperar de possíveis bugs.
II. O tratamento de exceções ajuda a manter o fluxo do programa, sendo uma condição
anormal possível de ocorrer em tempo de execução, alterando ou interrompendo o fluxo normal
do programa.
III. O bloco “try” contém o trecho do programa que pode lançar uma exceção. Ao executar uma
codificação no bloco “try”, as instruções após a exceção serão executadas integralmente se a
exceção ocorrer no início do bloco.
Está correto o que se afirma em:
a. II e III, apenas.
b. I, II e III, apenas.
c. I e III, apenas.
d. I, apenas.
e. I e II, apenas
PERGUNTA 6
1. O tratamento de exceções é um dos recursos mais importantes da programação Java que nos
permite tratar os erros em tempo de execução causados por exceções. De acordo com Deitel e
Deitel (2016, p. 348), a “exceção é uma indicação de um problema que ocorre durante a
execução de um programa. O tratamento de exceção permite criar aplicativos que podem
resolver (ou tratar) exceções. Em muitos casos, o tratamento de uma exceção permite que um
programa continue executando como se nenhum problema tivesse sido encontrado”.
DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do
Brasil, 2016.
Sobre captura e tratamento de exceções em Java, observe as afirmativas a seguir.
I. Você chama um ou mais métodos que podem lançar uma exceção, ou talvez você mesmo
lance a exceção.
II. Um objeto do tipo Exception (exceção genérica) será instanciado sempre que ocorrer uma
exceção durante a execução, em que conterá as informações sobre exceção.
III. Ao lidar com as exceções, não podemos fornecer informações mais precisas ao usuário, em
virtude de mantermos a segurança do código.
IV. As exceções indicam que algo grave o suficiente deu errado, o aplicativo deve travar em
vez de tentar lidar com a exceção no código.
Está correto o que se afirma em:
a. I, II e IV, apenas.
b. I e II, apenas.
c. II e III, apenas.
d. I, III e IV, apenas.
e. I e III, apenas.
PERGUNTA 7
1. O bloco “try Java” é usado para incluir o código que pode lançar uma exceção. Deve ser usado
dentro do método. Se ocorrer uma exceção na instrução específica do bloco “try”, o restante do
código do bloco não será executado. Portanto é recomendável não manter o código no bloco
“try”, que não lançará uma exceção.
Observe o trecho de código em Java, versão 8, disposto a seguir.
Fonte: Elaboração do autor, 2023.
Assinale a alternativa correta sobre o trecho anterior.
a. Todas as exceções poderão ser capturadas nessa codificação, mas apenas a exceção
do tipo “ArithmeticException” está sendo lançada.
b. Várias exceções poderão ser lançadas, mas, no caso do código, apenas a exceção do
tipo “ArithmeticException” está sendo capturada.
c. Pode ocorrer um erro na execução mesmo com a tratativa de exceção, uma vez que o
bloco “finally” está ausente da codificação.
d. Caso, dentro da linha do “System.out (...)” haja um erro, a exceção será lançada e
devidamente tratada para exibição correta de informação.
e. A exceção será lançada, exclusivamente, se ocorrer um erro aritmético, conforme
mostrado no código, caso se tente uma divisão por zero, por exemplo.
PERGUNTA 1
1. Uma das formas mais eficientes de indicar ao usuário algum tipo de falha específica, ou
mesmo preparar o sistema para possível manifestação de erro (como tentativa de acesso comum banco de dados on-line, mas sem internet funcionando) é a partir do tratamento de
exceções. O tratamento de exceções, dentre diversos motivos, é importante por possibilitar
remover a lógica-padrão na tratativa de erros do programa. Dessa forma, evita-se uma queda
no desempenho do aplicativo. Felix (2016, p. 111) afirma que, “ao lançar ou se tratar exceções,
é possível aprimorar a clareza do programa”.
FELIX, R. (org.). Programação orientada a objetos. São Paulo: Pearson Education do Brasil,
2016.
Sobre o texto anterior, avalie as afirmativas a seguir.
I. A manipulação de exceção em Java é um dos mecanismos poderosos para lidar com
exceções de tempo de execução e eliminá-las; portanto, ajuda a minimizar as exceções e a se
recuperar de possíveis bugs.
II. O tratamento de exceções ajuda a manter o fluxo do programa, sendo uma condição
anormal possível de ocorrer em tempo de execução, alterando ou interrompendo o fluxo normal
do programa.
III. O bloco “try” contém o trecho do programa que pode lançar uma exceção. Ao executar uma
codificação no bloco “try”, as instruções após a exceção serão executadas integralmente se a
exceção ocorrer no início do bloco.
Está correto o que se afirma em:
a. I, II e III, apenas.
b. I e II, apenas.
c. I, apenas.
d. I e III, apenas.
e. II e III, apenas.
PERGUNTA 2
1. Uma thread em Java é a direção ou o caminho percorrido enquanto um programa está sendo
executado. Geralmente, todos os programas possuem pelo menos uma thread, conhecida
como thread principal, fornecida pela JVM (Java Virtual Machine) no início da execução do
programa. Nesse ponto, quando a thread principal é fornecida, o método main() é invocado
pela thread principal.
Sobre o que foi apresentado, analise as asserções a seguir e as relações propostas entre elas.
I. Uma thread é um processo muito leve, ou, pode-se dizer, a menor parte do processo, que
permite que um programa opere com mais eficiência, executando várias tarefas
simultaneamente.
PORQUE
II. Se uma thread receber uma exceção ou um erro no momento de sua execução, isso não
afetará a execução das outras threads, já que todas compartilham uma memória comum e
possuem a sua própria pilha, variáveis locais e contador de programa.
Analisando as asserções anteriores, assinale a alternativa correta.
a. As asserções I e II são proposições falsas.
b. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa para I.
c. As asserções I e II são proposições verdadeiras, e a II é uma justificativa para I.
d. A asserção II é uma proposição verdadeira, e a I é uma proposição falsa.
e. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
PERGUNTA 4
1. Foi solicitado a um programador a análise de código a seguir e o seu parecer está
listado corretamente na alternativa:
import java.util.Scanner;
public class ExemploRuntimeException {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("Entre com um número inteiro: ");
int numero = s.nextInt();
System.out.println("Número lido: " + numero);
}
}
A exceção gerada é NullPointerException.
A exceção gerada é IndexOutOfBoundException.
O código executa corretamente.
Ocorrerá uma exceção em tempo de compilação.
Ocorrerá uma exceção em tempo de execução
PERGUNTA 6
1. Na linguagem Java, é comum o tratamento de exceções, sendo esse um de seus
recursos mais importantes, pois permite tratar os erros, em tempo de execução,
causados por exceções.
Em relação ao tratamento de exceções, assinale a alternativa que apresenta,
corretamente, o melhor uso das exceções em linguagem Java.
a. Uma exceção é um evento desejado que permite seguir o fluxo normal do programa.
b. Para tratar uma exceção, utilizamos as estruturas if-then-else.
c. Quando ocorre um erro de sintaxe na programação, há uma exceção.
d. Uma exceção é uma instrução executada quando uma condição não é atendida.
e. Uma exceção é um evento indesejado que interrompe o fluxo normal do programa.
PERGUNTA 7
1. Um dos recursos mais importantes da linguagem Java e que diferenciam essa
linguagem de muitas outras é o tratamento de exceções.
Assinale a alternativa que apresenta, corretamente, os comandos para o
tratamento de exceções em linguagem Java.
a. new Object()
b. try-catch
c. if-then-else
d. for-each
e. if-error
PERGUNTA 3
1. “Às vezes, um método responde a uma exceção lançando um tipo de exceção diferente que é
específico para o aplicativo atual. Se um bloco ‘catch’ lançar uma nova exceção, as
informações e o rastreamento de pilha da exceção original são perdidos. As primeiras versões
do Java não forneciam nenhum mecanismo para empacotar as informações da exceção
original com as informações da nova exceção a fim de fornecer um rastreamento de pilha
completo que mostre onde o problema original ocorreu. Isso torna a depuração desses
problemas particularmente difícil” (DEITEL; DEITEL, 2016, p. 363).
DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do
Brasil, 2016.
Sobre o que foi apresentado, analise as asserções a seguir e as relações propostas entre elas.
I. A palavra-chave “try” é usada no bloco de instruções em que estamos excetuando uma
exceção, ou seja, se ocorrer exceção no bloco “try”, o controle pula para o próximo bloco.
PORQUE
II. O programa que contém o bloco “try” capturará uma exceção possível, mas não lidará com a
situação e a execução do programa, causando sua interrupção.
Analisando as asserções anteriores, assinale a alternativa correta.
a. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
b. As asserções I e II são proposições verdadeiras, e a II é uma justificativa para I.
c. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa para I.
d. As asserções I e II são proposições falsas.
e. A asserção II é uma proposição verdadeira, e a I é uma proposição falsa.
PERGUNTA 4
1. Ao se programar em Java, o uso de exceções permite separar a detecção de um erro e o seu
respectivo tratamento. Assinale a alternativa correta:
Quando um erro ou situação anormal é encontrado durante a execução de um método,
uma classe exceção é construída.
Para qualquer tipo de exceção o compilador não verifica se existe possibilidade de serem
lançadas e não exige que os métodos em que possam ocorrer façam qualquer
tratamento.
A linguagem Java admite apenas exceções não verificadas (unchecked).
A captura e o tratamento de exceções são feitos somente pelo bloco try/catch.
Uma exceção em Java é um objeto da classe java.lang.Exception ou de uma de suas
subclasses.
PERGUNTA 5
1. Em relação às exceções verificadas (checked), é correto afirmar que:
as exceções verificadas são subtipos da classe java.util.
é facultativo tratar esse tipo de exceção.
ela ocorre em tempo de execução.
é um tipo de runtime exception.
ela precisa ser obrigatoriamente tratada, pois caso contrário o programa não compila
corretamente.
PERGUNTA 6
1. Em aplicações desenvolvidas em linguagem Java, é muito comum o tratamento de
exceções, a fim de evitar travamentos e comportamentos incompreensíveis pelo usuário
ou pelos próprios desenvolvedores.
Considerando as características do tratamento de exceções em linguagem Java, analise
as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).
I. ( ) O tratamento de exceções refere-se aos erros em tempo de execução.
II. ( ) Sempre que um erro ocorre, uma exceção (objeto) é criada e lançada.
III. ( ) A exceção (objeto) encapsula as informações do erro.
IV. ( ) O tratamento das exceções ocorre com o bloco try-catch, try-catch-finally.
Assinale a alternativa que apresenta a sequência correta.a. F, V, V, V.
b. V, F, V, F.
c. V, V, V, V.
d. F, F, F, V.
e. V, V, F, F.
PERGUNTA 7
1. No desenvolvimento de programas, às vezes é melhor capturar uma exceção padrão e
envolvê-la em uma personalizada. Um exemplo típico de tal exceção é uma exceção de
negócios específica de aplicativo ou estrutura. Isso permite acrescentar informações adicionais
e também implementar um tratamento especial para a sua classe de exceção.
Observe o seguinte trecho escrito em Java versão 8.
Fonte: Elaboração do autor, 2023.
Sobre a codificação apresentada, observe as afirmativas a seguir.
I. Nesse tipo de codificação, de acordo com o abordado, faz-se desnecessário qualquer
tratamento de exceção.
II. Devemos utilizar o bloco “try…catch” para envolver a condicional estabelecida dentro da
classe de conexão.
III. As exceções são, na maioria das vezes, um mecanismo de tratamento de erros e um meio
de comunicação ao mesmo tempo.
Está correto o que se afirma em:
a. II e III, apenas.
b. I, apenas.
c. I e II, apenas.
d. I, II e III, apenas
e. I e III, apenas.