Try e Cath - Help

4 respostas
jandiro

Galera estou estudando a parte de exceptions e consegui entender legal a questao das excessoes nao checadas.
Porem nao entendi muito muito como funciona a clausula throws:
Porque a classe abaixo da pau?

import <a href="http://java.io">java.io</a>.*;

public class Principal{

public static void main(String[] args){
metodo1();
}

static void metodo1() throws FileNotFoundException{

	try{
		System.out.println("Entrou no try");

	}catch(FileNotFoundException e){
		System.out.println("Deu pau" );
	}
}

}

//Gera a seguinte saida:

<a href="//Principal.java:6">//Principal.java:6</a>: unreported exception java.io.FileNotFoundException; must be ca

//ught or declared to be thrown

//                metodo1();

//                       ^

<a href="//Principal.java:14">//Principal.java:14</a>: exception java.io.FileNotFoundException is never thrown in bo

//dy of corresponding try statement

//                }catch(FileNotFoundException e){

//                 ^

//2 errors

Agradeco mais uma vez aos meu companheiros do forum, fico no aguardo

Jandiro

4 Respostas

A

pq na função main ao você chamar o metodo1(); vc deve coloca-lo dentro de um try{}catch{} tb ou usar o throws…e colcoar a exceção que ele da…

Falow

Diogenes

Jandiro, ao dar um throws na exceção FileNotFoundException aquih:

vc estah eximindo a responsabilidade do método metodo1 de tratar aquela exceção.

Eh como se vc dissesse que quem chamar o metodo1 serah responsável por tratar a exceção FileNotFoundException…

E portanto, vc tbém não precisa fazer isso no metodo1:

Seu metodo1 não quer tratar a exceção FileNotFoundException…entao, como jah foi dito pelo nosso colega zopo, quem eh responsavel por pegar a exceção levantada eh o seu método main, que chama o metodo1…

keller

jandiro:
Galera estou estudando a parte de exceptions e consegui entender legal a questao das excessoes nao checadas.
Porem nao entendi muito muito como funciona a clausula throws:
Porque a classe abaixo da pau?

import <a href="http://java.io">java.io</a>.*;

public class Principal{

public static void main(String[] args){
metodo1();
}

static void metodo1() throws FileNotFoundException{

	try{
		System.out.println("Entrou no try");

	}catch(FileNotFoundException e){
		System.out.println("Deu pau" );
	}
}

}

//Gera a seguinte saida:

<a href="//Principal.java:6">//Principal.java:6</a>: unreported exception java.io.FileNotFoundException; must be ca

//ught or declared to be thrown

//                metodo1();

//                       ^

<a href="//Principal.java:14">//Principal.java:14</a>: exception java.io.FileNotFoundException is never thrown in bo

//dy of corresponding try statement

//                }catch(FileNotFoundException e){

//                 ^

//2 errors

Agradeco mais uma vez aos meu companheiros do forum, fico no aguardo

Jandiro

é que no inicio voce declara que o metodo pode jogar um FileNotFoundException entao você nao precisa trata-lo ‘try e catch’,
resumindo ou você coloca o throws ou coloca um try e catch

[*sendo diferentes as Exceptions nao ocorrera este erro]

jandiro

Nunca vi um forum tão eficiente.
Valeu mais uma vez galera, espero poder ajudar em breve tambem

Um abraço

Jandiro

Criado 26 de novembro de 2004
Ultima resposta 29 de nov. de 2004
Respostas 4
Participantes 4