-
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.
O TRY consegue recuperar erros que possam ocorrer no código fornecido em seu bloco.
O 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."