Try's

6 respostas
Batata_Frita

Ae gente, eu gostaria que vocês me ajudassem em uma coisa. Sei que isso não faz parte apenas de Java, mas gostaria que me auxiliassem no compreendimento de dois comandos: try cacth e try finally. Para que sevem, como é sua sintaxe , etc.

Me ajudem , por favor ^^

6 Respostas

mchiareli

vc usa o try em trechos do codigo onde possa ocorrer exception e travar seu sistema, ae vc utiliza o try catch etc… para tratar isso exibir mensagens para o usuario e nao permirit que o sistema fique travado e o usuario com cara de bobo…

por exemplo na hora de conectar ao banco e o banco está fora do ar…isso irá gerar uma exception…

converter um caracter alfanumerico para int tb ira gerar uma exception…

vc usa o try da seguinte maneira…

try{

trecho do código que poderá gerar uma exception

}
catch(Exception e){

Trecho do codigo que vai ser excutado caso ocorra alguma exception, no caso abaixo ele iria exibir a mensagem de erro no console.
System.out.println(e.getMessage());

}
finally{

trecho de código que será exibido idependente de ocorrer exception oiu naum…esse trecho sempre será exibido…

}

thiago.correa

O try é usado para manipular métodos (por exemplo) que lançam exceções como no código abaixo

class A {
cpublic void excecao() throws Exception{
        throw new Excption("Excecao");
    }
}

class B {
    public static void main(Stirng[] a) {
        A a = new A();
        try{
            a.excecao();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ou seja, pode-se interpretar assim
tente executar o método xxxx() e pegue qualquer exceção e faça algo, que no meu caso eu mandei imprimir a pilha de erros

Com o finally não é muito diferente, ou seja, utiliza-se do mesmo modo, porém tudo que estiver entre as chaves, será executa HAVENDO ou NÃO exceção, tomamos como exemplo o código anterior temos:

class A {
cpublic void excecao() throws Exception{
        throw new Excption("Excecao");
    }
}

class B {
    public static void main(Stirng[] a) {
        A a = new A();
        try{
            a.excecao();
        } catch (Exception e) {
            System.out.println("Ocorreu a excecao");
            e.printStackTrace();
        } finally {
            System.out.println("Executando o finally");
        }

        try{
                System.out.println("Metodo que nao solta excecao");
        } catch (Exception e) {
            System.out.println("Ocorreu a excecao");
            e.printStackTrace();
        } finally {
            System.out.println("Executando o finally");
        }
    }
}

Você irá perceber que em ambos os casos será impresso “Executando o finally”, o finally é muito utilizado em transações com o banco, ou seja, ocorreu um erro durante uma atualização nos dados, dentro do finally é feito um rollback da transação, e/ou é utilizado para fechar a conexão haja o que houver!

iwallas

pense de jeito intuitivo…

try - tente

catch - pegue

finally- finalmente

Então vamos lá…

tente
  começo
     coma batata
     chupe limao
  fim
pegue
  começo
     ok... joga o limao fora..
  fim
finalmente
  começo
     tome um copo dáagua pq ce ta ligado.. limao é lenha!
  fim

Assim… passando a brincadeira, tudo que está dentro do bloco try, é o que pode gerar algo inesperado. e que o compilador nao saiba resolver sozinho, logo se ele nao sabe resolver sozinho… quem tem q resolver é vc… então ele joga a bola pra vc… dai vc catch, pega… dai dentro do catch vc fala… ó… faça algo que trate essa bola q jogaram pra cá… e não pare meu programa… (uma exceção nao tratada(pegada) encerra o seu programa… e ninguem quer q o programa pare de executar a nao ser q clique em sair né…

no finally vc coloca tudo que vc quer que sempre execute se ocorrer uma exceção ou não… aconteceu algo de errado? ok… passe pelo catch… e depois pelo finally…

é obrigado, ter ou um catch ou um finally para cada try.

try{
       tente acessar o arquivo c:\x.html
}
catch(Exception x){
      ah! vai q esse arquivo nao existe? dai claro q vai dar erro... (exceção) e seu programa nao pode parar .. então trata ele aki.. fala pro seu programa ó.. nao tem.. blz..  pra ..
}
finally{
     bem.. aki vc faz o q achar melhor.. mas sempre vai ser executado.. sempre...!
}

sei lá nao sou mto didático rsrsrsrs

dreamspeaker

iwallas:
pense de jeito intuitivo… tente começo coma batata chupe limao fim pegue começo ok... joga o limao fora.. fim finalmente começo tome um copo dáagua pq ce ta ligado.. limao é lenha! fim

Não sei se foi você que bolou isso, mas ficou legal! :slight_smile:

iwallas

dreamspeaker:
iwallas:
pense de jeito intuitivo… tente começo coma batata chupe limao fim pegue começo ok... joga o limao fora.. fim finalmente começo tome um copo dáagua pq ce ta ligado.. limao é lenha! fim

Não sei se foi você que bolou isso, mas ficou legal! :slight_smile:

eh q o nick do cara é batata quiz fazer um trocadilho rsrsrs foi eu sim =p

Batata_Frita

hahahhaha

vlw gente^^

deu pra ter uma noção sim , e esse exemplo ficou d+,hahahah

brigado pessoal ^^

Criado 12 de fevereiro de 2007
Ultima resposta 12 de fev. de 2007
Respostas 6
Participantes 5