Perguntinha boba

Pra que serve o try???

Ele atribui os valores em uma “variável virtual” para ver o resultado e não altera na variável original???

Oi,

O bloco TRY/CATCH/FINALLY serve para tratamento de exceções, já ouviu falar em exceções?

segue alguns liks e outros podem ser conseguidos em nosso amigo google.

http://java.sun.com/docs/books/tutorial/essential/exceptions/try.html
http://www.arquivodecodigos.net/arquivo/visualizar_dica.php?qual_dica=2133

Hmmmmmmmm…

Valeu…

É pq eu vi em alguns códigos aqui o Try e não sabia do que se tratava…

Muito bom esse segundo site…vou guardar ele…

para explicar um pouco mais sobre esses blocos…
dentro do try vc coloca o codigo que pode gerar a exceção…

dentro do catch vc coloca o que tem que ser feito quando a exceção ocorrer…

e dentro do finally vc coloca o que tem que ser feito independente de ter ocorrido a exceção ou não (por exemplo fechar uma conexão com o banco)…

assim que possivel volto com exemplos para um melhor entendimento…

[quote=claudneto]Pra que serve o try???

Ele atribui os valores em uma “variável virtual” para ver o resultado e não altera na variável original???[/quote]

Hãh? :shock:
Não. O try é parte de uma estrutura de controle relacionada ao mecanismo de exceções que existe no java.

Existem duas formas de usar o try:

  1. para capturar exceções com try-catch-finally
  2. para executar codigo mesmo depois do return com try-finally

se vc postar o codigo ajuda! :smiley:

Eu não estou usando Try em nenhum código…estava apenas vendo em outros tópicos…

Mas minha dúvida já foi resolvida…

Obrigado a todos…

Tente imaginar o seguinte exemplo:

try{ // tente

Carro carro = new Carro();
boolean estaAcelerando = carro.acelerar();

if(estaAcelerando ){
int i = 10;
}

}catch(Exception e){
// Qualquer erro na EXECUÇÃO do código acima irá cair neste bloco, na vida real do programador é muito usado para visualisar as exceções dos erros ocorrido, isso ajuda muito na resolução dos bugs.
} finally{

}

Uma Exception é um objeto que é lançado para fora do fluxo de execução e só para no try/catch adequado.

Imagine isso:

[code]void metodo1(){
/* antes /
metodo2();
/
depois */
}

void metodo2(){
metodo3();
}

void metodo3(){
/* alguma coisa que lança uma exception */
}[/code]

SE o metodo3 lançar uma exception, ele interrompe o fluxo dele mesmo e do método2, chegando ao 1 que, se não trata-la, jamais ira executar o bloco de código /* depois */