Baixe o app para aproveitar ainda mais
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
Compartilhar