Tratamento de Exceções

Propaganda
1
UFF – Universidade Federal Fluminense
TIC – Instituto de Computação
TCC – Departamento de Ciência da Computação
TCC 00.309 | Programação de Computadores II | Turma A-1 | 2015.1
Professor Leandro Augusto Frata Fernandes
Lista de Exercícios Sobre
Tratamento de Exceções
Questão 1
Nesta questão você deve identificar as partes problemáticas do código e reescrevê-lo utilizando
tratamento de exceções. Ou seja, devem ser identificadas todas as exceções que podem ser levantadas
e, para cada uma, deve ser dado o tratamento adequado que, nesse exercício, significa alertar o usuário
quanto ao problema.
public class Questao1 {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
for (int i = 0; i < n; i++) {
System.out.println(i);
}
}
}
Questão 2
Nesta questão você deve identificar as partes problemáticas do código e reescrevê-lo utilizando
tratamento de exceções. Ou seja, devem ser identificadas todas as exceções que podem ser levantadas
e, para cada uma, deve ser dado o tratamento adequado que, nesse exercício, significa alertar o usuário
quanto ao problema.
Entretanto, nesse programa a leitura dos valores deve ser feita, mesmo que para isso o usuário tenha
que tentar informar várias vezes os valores na mesma execução do programa.
public class Questao2 {
public static void main(String[] args) {
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in));
System.out.println(“Eu sei somar!”);
System.out.print(“Informe o primeiro valor: ”);
double x = Double.parseDbl(teclado.nextLine());
System.out.print(“Informe o segundo valor: ”);
double y = Double.parseDbl(teclado.nextLine());
System.out.println(“O resultado da soma é ” + (x + y));
}
}
2
Questão 3
Eis que Galvão Bueno interrompe a narração e pergunta: “Pode isso, Arnaldo?”
try {
... algum código ...
}
finally {
... algum código ...
}
Seu trabalho aqui é responder se pode, se não pode e, caso possa, se faz sentido e, caso faça sentido,
elaborar um exemplo.
Questão 4
Galvão Bueno está impossível hoje: “Pode isso, Arnaldo?”
try {
...
} catch
...
} catch
...
}
algum código ...
(Exception e) {
algum código ...
(ArithmeticException a) {
algum código ...
Seu trabalho aqui é responder se pode, se não pode e, caso possa, se faz sentido e, caso faça sentido,
elaborar um exemplo.
Questão 5
Considerando as classes de exceção contidas nos pacotes java.io, java.lang e java.util
em sua opinião, qual é a mais adequada para expressar os seguintes problemas?
Problema 1) Sua estrutura de dados é uma coleção indexada, de modo que os elementos são
identificados por um valor inteiro, o índice. Porém, um método recebeu um índice fora
da capacidade de indexação de sua coleção.
Problema 2) O valor informado como argumento de um método não atende à sua especificação.
Problema 3) O arquivo especificado pelo usuário não foi encontrado.
Questão 6
De hoje até o fim do curso, sempre escreva código fonte pensando (i) que exceções você pode levantar
por identificar uma situação adversa ou inconsistência nos dados, (ii) que exceções podem ser
levantadas por métodos utilizados por você e (ii) das exceções que podem ser levantadas pelos
métodos invocados, quais são as que podem ser tratadas de forma legítima.
Depois de pensar, melhore o código colocando em prática o mecanismo de tratamento de exceções
disponível na linguagem.
Em tempo: não aceite todas as dicas dadas pela IDE (e.g., NetBeans). Ela não pode programar para
você. Quem decide o que fazer com uma exceção é o programador.
Download