O que q acontece?

6 respostas
maxguzenski
import java.io.*;

class tThrows {
     public static void main(String[] args) throws IOException 
     {
	
             try {
                     throw new IOException();
             } finally {
                     throw new FileNotFoundException();
             }

     }
}

6 Respostas

H

Eu acho que dá erro de execucao, pois está faltando a clausula CATCH do bloco TRY/CATCH/FINALLY.

Ou seja, é preciso capturar a exceção lançada no bloco TRY, no caso a IOException.

Estou correto?

maxguzenski

nao… catch não é obrigatorio

Ironlynx

Exibe FileNotFoundException né?
E eu não preciso capturar a ecxeção no catch uma vez q eu lanço lá
no main…não é isso?

smota

Pois é .. catch não é obrigatório ... então uma exception lançada no bloco try simplesmente entra no bloco finally e como não tem mais ninguem pra tratar excessão o main faz o throw ... ou seja, a saída será
Exception in thread "main" java.io.FileNotFoundException

o mesmo efeito que o código abaixo:
import java.io.*;

class tThrows {
     public static void main(String[] args) throws IOException {

                      try {
                              throw new IOException();
				} catch(IOException e){
					throw new EOFException();
                        } finally {
                                                  throw new FileNotFoundException();
                        }

     }
}

(só que ele entra no catch .. mas o finally eh quem acaba tratanto a excessao.

H

Ou seja não preciso de CATCH

Agora e no caso de não ser lancado nenhuma excessão no finally, ou seja se ele não existisse, como seria o comportamento…

maxguzenski

assim,

se fosse assim:

try {
   throw new IOException();
} finally {
   System.out.println("Entrei no Finally");
}

ele primeiro iria mostrar a String “Entrei no Finally” e depois iria acusar a exeção.

agora, blocos try sempre devem ser seguidos de catch ou finally

isso nao compila:

try {
   // alguma coisa
}
Criado 7 de julho de 2003
Ultima resposta 7 de jul. de 2003
Respostas 6
Participantes 4