Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

e-lucia

[Resolvido] Catch

Recommended Posts

Pessoal,

 

alguem sabe me dizer por que dá erro qdo tento utilizar o catch(java.io.IOException)?

segue o codigo.

obrigada.

 

import java.io.*;

import java.io.IOException;

import java.util.Scanner;

public class Tentativa

{

public static void main(String[] args)

{

Scanner scan = new Scanner (System.in);

int valor;

try

{

System.out.println ("Digite o valor da venda: ");

valor = scan.nextInt();

}

catch(java.io.IOException){

valor = 0;

}

System.out.println ("Valor da Venda = "+ valor + ",00");

if (valor > 10.0)

valor = valor * 90 /100;

System.out.println("Valor Total com Desconto = "+ valor + ",00");

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque nenhum codigo dentro do try gera um IOException

O metodo Scanner.nextInt() pode gerar as seguintes excecoes:

   InputMismatchException 
   NoSuchElementException 
   IllegalStateException 

 

Nenhum delas eh subclass(filha) de IOException e tbm nao sao verificadas, ou seja, o compilador nao exige que seja capturadas...

Dah uma olhada na documentacao e veja quando cada uma delas eh gerada, e escolha qual delas serve para o seu algoritmo!

 

Abraco..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque nenhum codigo dentro do try gera um IOException

O metodo Scanner.nextInt() pode gerar as seguintes excecoes:

   InputMismatchException 
   NoSuchElementException 
   IllegalStateException 

 

Nenhum delas eh subclass(filha) de IOException e tbm nao sao verificadas, ou seja, o compilador nao exige que seja capturadas...

Dah uma olhada na documentacao e veja quando cada uma delas eh gerada, e escolha qual delas serve para o seu algoritmo!

 

Abraco..

 

 

Obrigada, Giovanni.

Usei o InputMismatchException e rodou certinho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.