SóProvas


ID
947242
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2013
Provas
Disciplina
Programação
Assuntos

As linguagens de script podem ser utilizadas para estender funcionalidades de um programa. Acerca da linguagem Python, julgue os itens seguintes.

O Python, no modo interpretador, aborta a execução do código com o status de erro, imprime a pilha dos erros na console e gera o log correspondente, quando o erro ocorre dentro do bloco try.

Alternativas
Comentários
  • nao conheço python
    mas da pra responder a questao fazendo analogia com try do Java
  • Fonte: http://pt.wikibooks.org/wiki/Python/Conceitos_b%C3%A1sicos/Erros_e_exce%C3%A7%C3%B5es

    O erro do Python é chamado de Traceback que é uma pilha criada quando ocorre a exceção. Guido van Rossum escreveu na documentação oficial que “quando ocorre uma exceção, o interpretador procura por um bloco de tratamento de exceções e então começa a desempilhar cada elemento da pilha de execução. Então desta forma saberemos quantos níveis depois do tratador de erros que houve a exceção”.

    Desta forma, pelo que entendi, Python no modo interpretador não gera o log correspondente e sim o imprime.
  • O erro da questão está em dizer que aborta a execução do código quando ocorre o erro dentro do bloco Try. Não necessariamente precisa ser abortado o o código, pois dentro do Try pode haver tratamentos de erros e o código continuar sendo executado.

  • Mr Robot, o problema é q vc quebra muito a cara se comparar java com Python hehe

  • blocos TRY são justamente para tratar possíveis erros/exceções; Se o erro ocorrer dentro de um destes blocos, o programador pode executar alguma rotina de contingência visando manter o sistema em execução ou ao menos informar o usuário de modo amigável o que está ocorrendo.

  • Errado

    O QUE É E PARA QUE SERVE UM BLOCO TRY CATCH. O bloco Try-Catch é utilizado para o tratamento de exceções, ou seja, erros que ocorrem em tempo de execução e podem derrubar a aplicação. Com o bloco “try” “captura” e pode identificar o erro, e tratá-lo da maneira que achar mais conveniente no bloco “catch”

  • Pessoal, vamos entender como funciona o tratamento de erros no Python.

    Em 1o lugar, se o código estiver com um erro sintático, esse erro é identificado na hora da compilação, antes de iniciar a execução do código. No trecho abaixo, existe um erro sintático na linha 4, depois do if x > 0 deveria ter um : (dois pontos). O correto sintaticamente seria if x > 0:. Neste caso, na hora da compilação o Python geraria um SintaxError.

    Este código está sintaticamente correto. O erro ocorrerá somente em tempo de execução na linha 3. Na hora de fazer a divisão por zero, o interpretador Python interromperá o programa e lançará o erro do tipo ZeroDivisionError.

    Python permite o tratamento de erros por meio da estrutura try-except. Funciona da seguinte forma. Você coloca um trecho de código dentro de um bloco try. Se ocorrer algum erro de execução dentro desse bloco, o programa não será interrompido, mas pulará para o trecho except para tratamento do erro.

    O código acima está sintaticamente correto. O interpretador, após verificar que não há erro de sintaxe, iniciará a execução do script Python linha a linha. Quando chegar na linha 4 ocorre um erro de execução, uma divisão por zero. Apesar desse erro, o programa não será finalizado devido ao fato de o erro ocorrer dentro do bloco try. Neste caso, ele pulará para o except e fará o print da linha 6. Após isso, ele segue a execução normal das linhas 8, 9 e 10. Para isso que serve o try-except. Para tratar erros em tempo de execução e não abortar o programa.

    Vamos voltar ao enunciado da questão.

    “O Python, no modo interpretador, aborta a execução do código com o status de erro, imprime a pilha dos erros na console e gera o log correspondente, quando o erro ocorre dentro do bloco try.”

    Isto está errado. Como vimos, se o erro ocorre dentro do try, a execução do código não é abortada.

    Resposta: Errado

  • Assertiva E

    O Python, no modo interpretador, aborta a execução do código com o status de erro, imprime a pilha dos erros na console e gera o log correspondente, quando o erro ocorre dentro do bloco try.

  • Assertiva E

    O Python, no modo interpretador, aborta a execução do código com o status de erro, imprime a pilha dos erros na console e gera o log correspondente, quando o erro ocorre dentro do bloco try.

    Repare

    try/except

    Uma outra abordagem que poderíamos seguir seria nos basear pela exceção, não pela linha. Ou seja, em vez de "se a linha for x, faça y", tratar como "se uma exceção acontecer, faça y...

  • Cara, pra que copiar a questão nos comentários ?

  • Uma outra abordagem que poderíamos seguir seria nos basear pela exceção, não pela linha. Ou seja, em vez de "se a linha for x, faça y", tratar como "se uma exceção acontecer, faça y...

    Resposta: Errado

  • ERRADO

    Bloco  TRY/CATCH serve para tratamento de exceções, tratamento de códigos que podem não ser totalmente atendidos e gerarem alguma exceção/erro.

    TRY consegue recuperar erros que possam ocorrer no código fornecido em seu bloco.

    CATCH por sua vez faz o tratamento dos erros que aconteceram.

  • https://www.youtube.com/watch?v=xz2B3bfNjEk

    Melhor canal de TI

    minuto 7 ele começa a tratar do assunto

  • Já explicaram sobre o que é o Try, aqui vai um exemplo:

    • try:
    •   print(x)
    • except:
    •   print("Não tem x definido seu mané")

    #O resultado será a frase "Não tem x definido seu mané", por que eu não defini um x antes da função, sacaram? O Try tenta fazer algo, se não der, em vez de apresentar um erro, ele executa o except;

    Se eu tivesse um x definido, ele iria executar o print(x), assim:

    • x = "Deu certo, sem erros."
    • try:
    •   print(x)
    • except:
    •   print("Não tem x definido seu mané")

    #iria imprimir "Deu certo, sem erros."