Newsgroup: it.comp.java
Titolo: missing return statement

Un' altra piccola domanda:
Definisco la classe readFromFile alla prima riga il compilatore mi
restituisce il seguente messaggio: Acountb.java:36: missing return statement
 public static String readFromFile(String raccount) {
                                                           ^
Qualcuno sa aiutarmi?????
Grazie infinite
Allego il codice in questione
//Creo la classe readFromFile
 public static String readFromFile(String raccount) {   <<<<<<<Mi da errore:
Missing return statement ????
 try {
  BufferedReader ois = new BufferedReader(new FileReader("account.txt"));
   raccount= ois.readLine();        return raccount;
  //ois.close();
 } catch(IOException e){
 //Immetto da tastiera i dati per la connessione
 System.out.println("Immetti [-ip inport](default 110): ");
  String inport = leggiTastiera();
  if (inport.compareTo("") == 0){
   inport= "110";
   System.out.println("110");
   writeToFile("-ip inport: "+ inport);
   }
  else {
   inport = leggiTastiera();
   System.out.println("[-ip inport]: " + inport);
   writeToFile("-ip inport: "+ inport);
  }
 System.out.println("Immetti [-op outport](default 25): ");
  String outport = leggiTastiera();
  if (outport.compareTo("") == 0){
   outport= "25";
   System.out.println("25");
   writeToFile("-op outport: "+ outport);
   }
  else {
   outport = leggiTastiera();
   System.out.println("[-op outport]: " + outport);
   writeToFile("-op outport: "+ outport);
  }
 System.out.println("Immetti [-u user password]: ");
  String userpass = leggiTastiera();
  while (userpass.compareTo("") == 0) {
    System.out.println("username e password non possono essere nulli");
    userpass = leggiTastiera();
    //System.out.println("[-u user password]: " + userpass);
  }
  StringTokenizer user = new StringTokenizer(userpass, " ");
  writeToFile("User: "+ user);
  StringTokenizer pass = new StringTokenizer(" ", userpass);
  writeToFile("Password: "+ pass);
 System.out.println("Immetti <email>: ");
  String email = leggiTastiera();
  while (email.compareTo("") == 0){
   System.out.println("Devi inserire l' indirizzo mail: ");
   email= leggiTastiera();
   writeToFile("email: "+ email);
   }
   //System.out.println("<email>:"+ email);
 System.out.println("Immetti <inserver>: ");
  String inserver = leggiTastiera();
  while (inserver.compareTo("") == 0){
   System.out.println("Devi inserire l'inserver");
   inserver= leggiTastiera();
   writeToFile("Inserver: "+ inserver);
   }
   //System.out.println("<inserver>:"+ inserver);
 System.out.println("Immetti <outserver>: ");
  String outserver = leggiTastiera();
  while (outserver.compareTo("") == 0){
   System.out.println("Devi inserire l'outserver");
   outserver= leggiTastiera();
   writeToFile("Outserver: "+ outserver);
   }
 }

Il messaggio dice semplicemente che manca il return.
Prova a vedere se magari ci possano essere casi particolari, con condizioni
o cicli, per cui possa verifarsi un punto in cui non ti ritorna una Stringa.

 ha scritto nel messaggio
news:b2t2jc$cc1$1...@newsreader.mailgate.org...


 ha scritto nel messaggio
news:b2t2q1$1furb5$1...@ID-137812.news.dfncis.de...

Credo che se l'eccezione viene presa dal blocco catch allora il compilatore
non sa più cosa restituire. Prova a mettere un return anche o  solamente
fuori dal try catch.

 
potresti gestire la cosa facendo restituire un null al posto di una 
stringa e poi gestire la situazione all'esterno
ciao
Alesi_27