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é +