Corsi on-line

Utilizzo errato dei separatori in Java

In un precedente articolo abbiamo analizzato le conseguenze di una dichiarazione errata del metodo main in Java proponendo alcune metodologie per evitare questa eventualità; ma un altro errore abbastanza frequente nella stesura dei sorgenti riguarda l’utilizzo dei separatori. Ricordiamo infatti che ogni istruzione Java deve essere conclusa con il punto e virgola (“;”), nel caso in cui esso dovesse mancare il compilatore darebbe luogo ad una notifica di tipo ';' expected.

Java

Per proporre un semplice esempio è possibile effettuare la compilazione del seguente sorgente:

public class BlahBlah{
     public static void main(String []args){
        System.out.println("Blah! Blah! Blah!")
     }
}

Mancando il “;” dopo l’istruzione per la stampa a video della stringa passata come argomento, il compilatore dovrebbe produrre un output per la segnalazione dell’errore:

$javac BlahBlah.java 2>&1
BlahBlah.java:3: error: ';' expected
        System.out.println("Blah! Blah! Blah!")
                                               ^
1 error

Da notare come venga riportata la riga in cui è stato individuato l’errore indicando tramite il simbolo “^” il punto in cui non è stato rilevato il punto e virgola:

System.out.println("Blah! Blah! Blah!")

L’assenza del “;” potrebbe essere dovuta ad un semplice errore di battitura, evento molto più frequente di quanto non si possa ipotizzare, si pensi per esempio alla necesità di indicare correttamente i costrutti. La compilazione di un sorgente come il seguente:

public class BlahBlah{
     Public static void main(String []args){
        System.out.println("Blah! Blah! Blah!");
     }
}

porterebbe alla segnalazione di un errore:

$javac BlahBlah.java 2>&1
BlahBlah.java:2: error: <identifier> expected
     Public static void main(String []args){
           ^
1 error

Questo per via del fatto che la keyword Public non è prevista da Java che invece richiede (identifier expected) il qualificatore public.

Post correlati
I più letti del mese
Tematiche