Duvida sobre exceções?

A e galera alguem pode me dizer qual a função de uma cláusula Throws?

A cláusula throws indica que o método pode gerar uma exceção. Obrigando assim, o usuário da classe a tratar o erro onde poderá ocorrer a exceção.

[]'s

Voce tem que colocar pelo menos um comando “throw” dentro do metodo, e geralmente serve para voce jogar uma excecao que voce mesmo ja tenha nocao de que possa acontecer a excecao

()

Só para complementar…

Quando se usa o comando throws na assinatura do método, indica que ele poderá lançar uma axceção, e que consequentemente essa exceção tem que ser tratada.
Caso seja uma exceção do tipo “checked exceptions” o uso do comando “throw” não é obrigatório. A exceção poderia ser tratada no método chamador, através de um try/catch normal, ou através de um comando throw…

Ex.:

[code]
public class TratamentoExcecoes{

      public void declaracao(String s) throws IOException{
                   //esse método gera a exceção
               URL u = new URL(s);
       }
     
       public void chamador(String s){
                  boolean sucess = false;
                   while (!sucess){
                              // A exceção gerada no método declaracao só é tratada no
                              // try/catch abaixo. Esse tratamento poderia ser feito com o
                              // comando throw (IOException).
                               try{
                                        declaracao(s);
                                        sucess=true;
                                } catch (IOException e)
                                   // Avisa o usuário que a string passada não é válida
                                    e.printStackTrace;
                                }
                    }
        }

}[/code]

Como pode ver o tratamento da exceção pode ser feita no método chamador, o que poderia economizar algumas linhas de código, caso o método chamador chamasse outros métodos que sejam passivos de gerar o mesmo tipo de exceção. Usaria um tratamento para todos os métodos chamado por “chamador”.

Espero ter ajudado…

Qualquer dúvida é só perguntar.

té +