Qual a vantagem dos tratadores de exceção?

ae pessoal!
Eu tenho q fazer um pequeno projeto aqui para a faculdade com tratadores de excessões e talz. Até agora eu vinha fazendo isto da forma “tradicional”, ou seja, usando testes if/else ou outros. Qual a vantagem de se usar o try/catch e tal??? quer dizer, não eh a mesma coisa???
[]s!
João Bosco

Olá,

 Acredito que a principal vantagem do uso de Excecões é a de seu programa se tornar mais tolerante a falhas. Explico: se ocorrer uma erro e seu programa tiver um bom tratamento de exceções, ele não terminará inesperadamente e deixará o usuário na mão, podendo até contornar o problema.
 Além disso, tratar erros com exceções deixa seu programa mais robusto e claro, separando a lógica do programa em si da parte que trata dos erros (já reparou como os montes de if's que tem no meio do seu código acaba deixando a aparência meio 'suja'  :) ?)

reforcando a ideia do breves, o tratamento de excecoes faz com que o seu fluxo de codigo nao fique LOTADO de ifs e elses

e em java, tratar uma excecao nem sempre eh uma opcao, ja que existem dois tipos de excecoes: As checked exceptions (arquivo nao encontrado, por exemplo) voce PRECISA tratar ou jogar para o metodo que chamou o metodo atual, com isso, voce GARANTE que o seu programa nao vai dar pau em tudo soh pq nao encontrou um arquivo!

Outra coisa, a excecao guarda o STACK TRACE, que eh um log falando o que estava sendo executado na hora que o problema ocorreu. Estou escrevendo um artigo sobre stack trace, pois vi q muita gente nao sabe utiliza-la direito; ou pior: tem medo de le-la!

o stacktrace eh um ponto fortissimo pra logging, caca e solucao de erros.

gui