Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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");
}
}>
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.
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..