• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ZeppBreaker

dúvida-reader

2 mensagens neste tópico

Boas!

É o seguinte, estou a fazer um projecto para ip.

Tenho um problema em relação ao reader. Quando corro o programa, se não existir o ficheito auction.txt dá erro. Penso que, teoricamente, com o throws Exception não deveria existir o problema mas o que é facto é que acontece. Desde já agradecido.

import java.io.FileReader;
import java.io.PrintWriter;
import java.util.Scanner;

public class Main {

public static void main(String[] args) throws Exception {

	IPBay b = new IPBay();
	/****/
	FileReader reader = new FileReader("auction.txt");
	Scanner filein = new Scanner(reader);
	int numOfCustomers = filein.nextInt();
	filein.nextLine();
	for(int i=0; i<numOfCustomers; i++){
		b.LoadCustomer(filein.nextLine(), filein.nextInt(), filein.nextInt(), filein.nextInt());
	}

	//			b.LoadAuction();

		filein.close();

...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A única coisa que a palavra throws faz é propagar a excepção, ou de forma simples, descartar a responsabilidade em tratar a excepção. Como o aplicaste no método main, estás a dizer que é o SO que tem a responsabilidade de tratar a excepção, ora o Sistema Operativo não sabe nada de excepções e a mensagem vai parar ao utilizador. Resumindo, descartar responsabilidade não é a solução, a solução seria tratar do erro :)

Primeiro, se o código está dentro do main, não existirá nada fora do programa para tratar qualquer excepção. Nenhuma excepção que és obrigado a tratar deverá sair do método main, pelo menos neste método elas têm de ser tratadas.

Depois, não tem muita lógica tentares abrir um ficheiro que não existe, deverias verificar se o ficheiro existe antes de lhe tentares escrever.

As excepções servem para controlar erros e como não estás a apanhar as excepções que podem ser lançadas não estás a tratar correctamente os erros. Passa a apanhar as excepções e a fazer criar código que tenha em atenção situações de erro antes de elas ocorrerem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora