Buscar

Programação Orientada a Objeto - Nota 10 - Semana 6 - Univesp

Prévia do material em texto

09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 1/11
1 ptsPergunta 1
getMessage()
getError()
fullStack()
printStackTrace()
Caso um analista esteja criando a estrutura de tratamento de erros dentro do sistema, ocasionalmente
poderá armazenar um erro não esperado em um banco de dados com a função de Log. Qual o método
que poderá utilizar para obter a descrição do erro ocorrido?
1 ptsPergunta 2
Um Analista identifica um tratamento de erro no sistema, representado pela seguinte estrutura:
try{ 
 <instruções> 
} 
catch (classeExceção1 objetoExeção1){ 
 tratamento de erro1 
} 
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 2/11
Há o tratamento de I/O
Não é possível colocar 2 catch em um try
O finally pode ser processado de acordo com o catch executado
Há 2 tratamentos de exceções
catch (classeExceção2 objetoExeção2){ 
 tratamento de erro2 
} 
finally{ 
 comandos 
}
É possível afirmar que:
1 ptsPergunta 3
catch (ArithmeticException e)
catch (NumberFormatException e)
Um analista necessita realizar o tratamento de uma possível divisão entre dois números, desta forma
utilizará o try com um método catch, qual deverá utilizar para realizar essa tarefa?
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 3/11
catch (ZeroDividedNumbers e)
catch (NumberError e)
1 ptsPergunta 4
Um analista ao abrir o código fonte de um programa deparou com a seguinte codificação:
public class tst { 
 public static void main(String[] args) { 
 try { 
 List<Produto> prod = new ArrayList<Produto>(); 
 prod.add(new Produto(01,"Arroz")); 
 prod.add(new Produto(02,"Feijao")); 
 prod.add(new Produto(03,"Batata")); 
 } 
 catch (Exception e) { 
 System.out.println("Erro!"); 
 } 
 } 
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 4/11
Serão tratados erros de argumento
Serão tratados todos os erros
Serão tratados apenas erros de I/O
Serão tratados erros de compilação
}
É possível afirmar que:
1 ptsPergunta 5
Um programador recebeu a incumbência de criar o tratamento de erro em uma rotina complexa. O
resultado foi:
... 
try{ 
 // Abrir Banco de Dados 
 // Código de uma rotina complexa; 
} 
catch (ArithmeticException eA){ 
 System.out.println("Divisão por zero!"); 
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 5/11
I e IV
I, III e VI
I e III
I, III e IV
} 
catch (IndexOutOfBounds eI){ 
 System.out.println("Ponteiro fora do limite!"); 
} 
catch (Exception e){ 
 System.out.println("Erro!"); 
} 
finally{ 
 // Fechar Banco de Dados 
} 
...
Dentre as afirmações abaixo, quais são as corretas?
Existe tratamento de erros por divisão por zeroI.
Pode ocorrer do finally nunca ser executadoII.
O banco de dados sempre será fechadoIII.
O banco de dados sempre será abertoIV.
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 6/11
1 ptsPergunta 6
O programador ao abrir o código fonte de um dos programas do sistema deparou-se com o seguinte
trecho:
... 
Int x; 
try{ 
 x = Integer.parseInt( JOptionPane.showInputDialog( "Digite o ano de nascimento:" )); } 
catch (Exception e){ 
 System.out.println("Erro!"); 
 System.exit(); 
} 
finally{ 
 System.out.println("Programa terminado."); 
} 
...
Diante do trecho de código, é possível afirmar que:
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 7/11
Não há tratamento para erro caso o usuário digite uma letra no showInputDialog
Ao executar, sempre aparecerá "Programa terminado.", mesmo que ocorra um erro.
No showInputDialog o usuário irá digitar um número
Caso haja erro, será exibido apenas "Erro!"
1 ptsPergunta 7
ArithmeticException
ParseException
NumberFormatException
IndexOutofBounds
Em um sistema o processo de entrada de dados será realizado via-teclado. O usuário deverá digitar o
CPF para que todo o processo funcione corretamente. Existe um algoritmo para validar o número desse
tipo de documento, mas antes é necessário verificar se o que o usuário digitou realmente é um número.
Sabendo-se que a variável que receberá o CPF é do tipo String e que haverá uma transformação para o
tipo int de cada posição dessa variável (parsing), qual o tipo de catch que deverá ser utilizado?
1 ptsPergunta 8
O analista de sistemas precisa criar um método que leia o arquivo log.txt que possui o histórico das
transações (log) realizadas. Ele cria a rotina que abre o arquivo texto, faz a carga em um objeto
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 8/11
(mLogSis) e começa a realizar a leitura colocando cada item do log no mLogList. Após a carga é
executado o método ExibirLog que recebe o resultado da leitura do arquivo (mLogList). Em seguida os
objetos são finalizados.
try { 
 FileReader mArqTxt = new Filereader("log.txt") 
 BufferedReader mLogSis = new BufferedReader(mArqTxt); 
 while ((mLinha = mLogSis.readline()) != nul) { 
 mLogList.add(new String(mLinha)); 
 } 
 ExibirLog(mLogList); 
 mLogSis.close(); 
 mArqTxt.close(); 
 
} catch ? 
}
A partir do código apresentado, qual o tratamento que o analista deve fazer no código considerando a
funcionalidade descrita?
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 9/11
} catch (NoFileException fnf { 
 
 System.out.println("Arquivo inexistente!"); 
 
}
} catch (FileNotFoundException FnFe { 
 
 System.out.println("Arquivo inexistente!"); 
 
}
} catch (NoFileException NFe { 
 
 System.out.println("Arquivo inexistente!"); 
 
}
} catch (ArithmeticException Ae { 
 
 System.out.println("Arquivo inexistente!"); 
 
}
1 ptsPergunta 9
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 10/11
A primeira afirmação é verdadeira e a segunda é falsa.
A primeira afirmação é verdadeira e a segunda justifica a primeira.
A primeira afirmação é falsa e a segunda é verdadeira.
As duas afirmações são falsas.
O programador ao codificar precisa considerar as condições excepcionais no código com uso do
try..catch PORQUE nem sempre é possível antever o que o usuário irá enviar como dado.
Analisando as afirmações acima, conclui-se que:
1 ptsPergunta 10
A primeira afirmação é falsa e a segunda é verdadeira.
A primeira afirmação é verdadeira e a segunda é falsa.
A primeira afirmação é verdadeira e a segunda justifica a primeira.
As duas afirmações são falsas.
Nem todas as coisas podem ser tratadas PORQUE os programadores não podem criar classes de
exceções em seus sistemas.
Analisando as afirmações acima, conclui-se que:
09/11/2020 Teste: Atividade para avaliação - Semana 6
https://cursos.univesp.br/courses/3199/quizzes/13252/take 11/11
Salvo em 15:57 Enviar teste

Continue navegando