Problema de IOexception

6 respostas
K

Ola pessoal estou tentado criar uma calculadora mas estou tendo problemas de IOexpection nos tres metodos read.Line();

o erro é esse aqui
Unhandled exception type IOException

gostaria de saber o que é este erro , o que o provoca e como resolve-lo !
segue abaixo o código

import java.io.*;//biblioteca java para entrada/saida de dados

public class CalculadoraSimples {

	   static float resul,a,b;
	   static String x,y,z;//axiliares para conversão de tipos
	   static int op; //variaveis para operação
	   static BufferedReader num_a,num_b,opt; // criação do objeto num do tipo DataInputStream
	
	
	public static void main(String args[]){
	System.out.println("Digite o calculo que deseja executar ");
	opt = new BufferedReader(new InputStreamReader(System.in));
	x = opt.readLine();
	op=Integer.parseInt(x);
	GuardaNumero();
	   	   
	    if(op==1){
		resul = a+b;
	    } 	
	
	    if(op==2){
		resul = a-b;
	    }
	
	    if(op==3) {
		resul = a/b;
	    }
	
	    if(op==4){
		resul = a*b;
	    }
	
	}
	
	public static void GuardaNumero(){
		
		System.out.println("Digite o primeiro numero");
		num_a = new BufferedReader(new InputStreamReader(System.in));
		y=num_a.readLine();
		a=Float.parseFloat(y);
		System.out.println("Digite o segundo numero");
		num_b = new BufferedReader(new InputStreamReader(System.in));
		z=num_b.readLine();
		b=Float.parseFloat(z);
	}
	
	
	
	
}

6 Respostas

J

Esse metodo readLine() pode lançar uma exceção do tipo IOException caso ocorra um erro de leitura dos dados, então você é obrigado a trata-la…

Use um bloco try catch

try{ x = opt.readLine(); }catch(IOException ioe){ ioe.printStackTrace(); }

K

Então para evitar este tipo de erro de exceção deverei sempre tratar todos os métodos que podem ter uma IOException ou outra qualquer com o bloco try-catch ?

J

É, você é obrigado a tratar uma exceção verificada, se não seu codigo não compila…

Há outros meios de tratar as exceções sem ter que colocar um try catch em todo lugar, mas isso é um pouco mais complexo… dá uma olhada em tratamento de exceção em algum livro ou apostila que você vai ver como é…

K

então eu fiz um código que ficou muito porco por que ficou cheio de try-catch :stuck_out_tongue: você não teria um link sobre isso não ??

J

Você pode colocar um try catch só envolvendo tudo…

Mas se quer algo realmente bom, dê uma olhada aí:

http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html

K

Muito obrigado Jair conteudo muito bom ! Também é no site da sun hehe

Criado 20 de setembro de 2006
Ultima resposta 21 de set. de 2006
Respostas 6
Participantes 2