Gostaria de saber a diferença entre usar o try/cat para o throw. Ambas servem para o mesmo propósito ? Ou há diferença entre elas.
Gostaria de saber a diferença entre usar o try/cat para o throw. Ambas servem para o mesmo propósito ? Ou há diferença entre elas.
Tudo bom José?
vou tentar te ajudar nessa questão.
vamos supor que voce tem o seguinte método:
public void testaExecpiotn() throws Exception {
int[] teste = new int[5];
teste[10] = 10;
throw new Exception("Array com apenas 5 posições");
}
eu estou criando um Array
de int
com 5 posições:
int[] teste = new int[5];
e estou colocando um valor na posição 10:
teste[10] = 10;
nesse caso vai dar o erro java.lang.ArrayIndexOutOfBoundsException
estou acessando uma posição inexistente, e estou jogando a tratativa do método para quem invocar ele com o uso do throw new Exception("Array com apenas 5 posições");
.
quando voce for invocar esse metódo voce vai ter que tratar esse erro:
public class testaTry {
public static void main(String[] args) {
TestaException testaException = new TestaException();
try {
testaException.testaExecpiotn();
} catch (Exception e) {
e.printStackTrace();
}
}
O try catch
server para voce isolar um trecho de código e tratar, e o throw
ele delega a responsabilidade para o próximo,,a responsabilidade de tratar o erro é de quem invocou o método, mas voce pode também colocar o throw
na chamada do método, ai nesse caso ninguém tratou o erro, seu programa vai parar.
espero ter te ajudado.
Oi Gabriel, muito obrigado pela ajuda, ficou bem claro a explicação.
Que bom José que ajudou ;)