Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Java Eccezioni Help

  1. #1

    Java Eccezioni Help

    Salve.....un nuovo problema
    Ho un classe che acquisisce dati da tastiera e deve convertire il tutto in intero e visualizzarlo. Provo a gestire eccezioni per l'acqusizione dati e eccezzioni per evitare che vengano convertite stringe che contengono parole e non numeri

    Ecco il pakcage della classe

    package ioconsole;
    //classe contenente metodi per acquisizione interi
    import java.io.*;

    public class InOut {
    //costruttore
    public InOut(){
    integer=0;
    }

    //medoti di accesso e I/O
    public String Input()throws IOException{
    String buffer=null;
    InputStreamReader inReader=new InputStreamReader(System.in);
    BufferedReader bfReader=new BufferedReader(inReader);
    System.out.println("Immetti un intero: ");

    try{
    buffer=bfReader.readLine();
    }
    catch (IOException ioe){
    System.out.println("Message: errore di I/O");
    throw ioe;
    }
    return buffer;
    }

    public void Output(){
    System.out.println("Contenuto di integer:"+this.getInteger());
    }

    public void setInteger()throws IOException{
    try{
    integer=Integer.parseInt(this.Input());
    }
    catch(NumberFormatException nfe){
    System.out.println("Errore: non hai inserito un intero");
    throw nfe;
    }
    }
    public int getInteger(){return integer;}

    //variabile di istanza
    private int integer;
    }


    Ecco il main

    /*IntegerIO.java Created on 25 ottobre 2003, 13.37*/
    import ioconsole.InOut;
    /*@author Programmer*/
    public class IntegerIO {
    public InOut ob;
    /** Creates a new instance of IntegerIO */
    public IntegerIO() {
    ob=new InOut();
    }

    /*@param args the command line arguments*/
    public static void main(String[] args){
    IntegerIO obj=new IntegerIO();
    obj.ob.setInteger();
    obj.ob.Output();
    }
    }

    Ecco l'errore
    IntegerIO.java [14:1] unreported exception java.io.IOException; must be caught or declared to be thrown
    obj.ob.setInteger();
    ^
    1 error
    Errors compiling IntegerIO.

    Capisco che è lungo ma vi prego fatemi capire xkè non so cosa fare.
    Aspetto risposta e grazie in anticipo

  2. #2
    nn ci capisco nulla con le eccezioni, ma ti dà errore forse xchè non catturi l'eccezione IOException in setInteger?

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Come dice V1RuZ non catturi l'eccezione lanciata dal metoso setInteger. Tu hai dichiarato questo metodo così:
    codice:
    public void setInteger() throws IOException  {
     ...
    }
    Ossia hai detto che il metodo setInteger può lanciare un'eccezione di tipo IOException. IOException non è un'eccezione di tipo RuntimeException quindi quando usi questo metodo devi racchiuderlo in un blocco try/catch.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.