Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

try/ cat and throw

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.

3 respostas
solução!

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 ;)