Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    20

    Java: missing return statement

    Ciao a tutti.

    Sto scrivendo un programma che utilizza un array bidimensionale di
    String. A fine msg trovate il codice della classe. Dal punto di vista
    della logica mi sembra tutto a posto ma il javac continua a darmi
    un errore di "missing return statement" alla riga 23.
    Dove ho sbagliato? come posso correggere?

    public class Memo

    {

    public static void ScriviFile (String[][] contenitore)//scrittura file
    {
    try
    {
    FileOutputStream fos=new FileOutputStream("Ricevuti.dat");
    ObjectOutputStream oos=new ObjectOutputStream(fos);
    oos.writeObject(Msg.Contenitore);
    oos.close();
    }
    catch(Exception u){}
    }
    public static String[][] LeggiFile() //lettura file
    {
    try
    {
    FileInputStream fis=new FileInputStream("Ricevuti.dat");
    ObjectInputStream ois=new ObjectInputStream(fis);
    String[][] y = new String[100][4];
    y = (String[][])ois.readObject();
    return y;
    }
    catch(Exception u){}

    }





    }
    Golconda

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Il problema e' che se viene lanciata un'eccezione nel metodo LeggiFile(), tale metodo non ritorna nulla, in quanto il flusso dell'esecuzione passa all'interno del blocco catch.
    Per risolvere puoi fare in due modi:

    1) dentro il blocco catch aggiungi return null (oppure un valore predefinito, vedi tu)

    2) dichiari y fuori dal blocco try e sposti l'istruzione return y fuori dal blocco catch.

    Personalmente opterei per la seconda ipotesi, mi sembra piu' corretta ed elegante
    Ciao,
    Lorenzo

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 © 2024 vBulletin Solutions, Inc. All rights reserved.