Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    75

    [Java] Eccezioni

    Vorrei porre una domanda probabilmente banale. Vorrei sapere se c'è un modo piu elegante del seguente per gestire piu eccezioni relative allo stesso blocco di codice:

    try{
    ObjectInputStream in =
    new ObjectInputStream (
    new FileInputStream("restore.dat"));
    try {
    ArchivioBancoPosta A = (ArchivioBancoPosta)in.readObject();
    in.close();
    ContoBancoPosta.ProgressivoConto=A.ProgressivoCont o;
    return A;
    }
    catch (ClassNotFoundException e){in.close();}
    }
    catch (IOException e){
    System.out.println("Errore:"+e.toString());
    JOptionPane.showMessageDialog(null,"Caricamento dati non riuscito");
    }{


    Cioè bisogna annidare tutti i blocchi try-catch?... e se si dovessero gestire decine di eccezioni...?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    codice:
    ObjectInputStream in = null;
    try {
      in = new ObjectInputStream(new FileInputStream("restore.dat"));
      ArchivioBancoPosta A = (ArchivioBancoPosta)in.readObject();
      ContoBancoPosta.ProgressivoConto=A.ProgressivoConto; 
      return A; 
    } 
    catch (ClassNotFoundException cnfex) {
      cnfex.printStackTrace();
    }
    catch (IOException ioex) {
      ioex.printStackTrace();
      JOptionPane.showMessageDialog(null,"Caricamento dati non riuscito"); 
    }
    finally {
      if (in != null)
        in.close();
    }
    nei catch devi mettere un return di un oggetto, credo null ma scegli tu

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    75
    Grazie, ora va molto meglio, l'unica cosa è che Eclipse ma da un errore nel blocco finally, mi dice che devo gestire l'IOException per l'operazione di chiusura, ma, che devo mettere anche qui un'altro blocco try-catch?

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    si

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

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.