Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-06-2015, 17:25   #1
marcoqwertyuiop
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");
	}
}
marcoqwertyuiop è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2015, 17:52   #2
[Kendall]
Senior Member
 
L'Avatar di [Kendall]
 
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
Quote:
Originariamente inviato da marcoqwertyuiop Guarda i messaggi
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");
	}
}

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];
tu crei un array di stringhe. Cos'è un array in Java? Essenzialmente una sequenza di riferimenti (adiacenti in memoria) a degli oggetti di tipo String. Se tu però non assegni una stringa a quei 10 riferimento loro "punteranno" sempre e solo a null (cioè a nessun oggetto).
Se nel tuo caso vai a stampare uno ad uno gli elementi di quell'array
Codice:
for (String item: dati) {
      System.out.println(item);
}
vedrai che la console ti stamperà a schermo 10 volte "null".

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");
    }
}
[Kendall] è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2015, 19:12   #3
marcoqwertyuiop
Junior Member
 
Iscritto dal: May 2015
Messaggi: 26
Ok, grazie.
marcoqwertyuiop è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
OpenAI taglia i prezzi di due modelli GP...
RTX Spark pronto a dominare anche i tabl...
Il primo telefono davvero senza bordi no...
DeepSeek V4-Flash, API in beta pubblica:...
La crisi delle memorie continuerà: ecco ...
Dati su disfunzione erettile e perdita d...
Arriva e-invoice, il servizio di fiskaly...
Champions League, F1 e MotoGP: ecco la p...
Amazon alza a 220 miliardi le stime sugl...
World of Warcraft e Dungeons & Drago...
AXOL Server ridisegna l'infrastruttura d...
MSI ha ucciso AMD EXPO ULL? High-Efficie...
Falso Portale dell'Automobilista ruba pa...
Apple chiude il miglior trimestre di giu...
Sony tira dritto sull'addio ai dischi Pl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v