|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2015
Messaggi: 26
|
[JAVA] Eccezioni
Salve, vorrei capire perchè questo codice non mi visualizza il messaggio ERRORE che ha sull'eccezione se si tenta di accedere ad un elemento che non è nell'array.
Codice HTML:
class Prova {
public static void main(String[] args) {
String[] dati = new String[10];
System.out.println(dati[11]);
}
static void stampaArray(String[] dati) {
try {
for (int i = 0; i < 10; i++) {
System.out.println(dati[i]);
}
} catch (ArrayIndexOutOfBoundsException exc) {
System.out.println("ERRORE");
}
System.out.println("fine");
}
}
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
In questo codice stai facendo due errori. Il primo è quello di creare un array di stringhe senza inizializzarle. Con il codice Codice:
String[] dati = new String[10]; Se nel tuo caso vai a stampare uno ad uno gli elementi di quell'array Codice:
for (String item: dati) {
System.out.println(item);
}
Il secondo errore riguarda il fatto che il metodo che hai scritto, dove intercetti l'eccezione di tipo ArrayIndexOutOfBoundsException, non vai poi a usarlo nel tuo metodo main, dove invece usi un semplice System.out.println. Tra l'altro quel metodo statico è scritto in una maniera un po' bizzarra e decisamente errata. Se vuoi semplicemente fare delle prove riguardo all'intercettare eccezioni ti conviene farlo direttamente sul metodo main. es° Codice:
public static void main(String[] args) {
String[] array = new String[10];
try {
System.out.println(array[10]);
} catch (ArrayIndexOutOfBoundsException exc) {
System.out.println("ERRORE");
}
}
|
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: May 2015
Messaggi: 26
|
Ok, grazie.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:38.




















