Vai al contenuto

eccezioni in java


van86

Messaggi raccomandati

ciao a tutti, all'uni abbiamo fatto le eccezioni solo che il prof che abbiamo nn è che le ha spiegate molto bene e non ho compreso una cosa....in un ipotetico main, se utilizzo un metodo da me precedentemente creato se scatta l'eccezione non c'è modo di comunque portare a termine il main? mi spiego meglio con un esempio:

Creo un array lungo 6, faccio salvare in una variabile a il valore della cella 2, poi vado a leggere la cella 10, e poi faccio stampare la variabile a.

Visto che l'array è lungo 6 quando faccio per leggere la cella 10 parte la mia bella eccezione e fino qua ok...solo che poi il mio main nn finisce di essere eseguito e quindi nn stampa la variabile a.

posso fare in modo che il main riprenda il controllo dopo che è partita l'eccezione?

Link al commento
Condividi su altri siti

guarda che le eccezioni nascono proprio per portare a termine il programma... nel corpo del catch mettici il codice che vuoi che venga eseguito nel caso si verificasse quella determinata eccezione

MACBOOK PRO 15 I5! ipod video 30 giga, iPod nano 16giga, iPod nano 8 giga, iPhone 3gs 32 giga white - ibook g4 1.3 ghz - macbook 2.00 ghz core 2 duo

Link al commento
Condividi su altri siti

guarda che le eccezioni nascono proprio per portare a termine il programma... nel corpo del catch mettici il codice che vuoi che venga eseguito nel caso si verificasse quella determinata eccezione

public static void main(String[] args) throws CodaVuotaException,CodaPienaException{

Coda a = new Coda (8);

a.enqueue(6);

int b=12;

a.dequeue();

a.dequeue();

JOptionPane.showMessageDialog( null, b );

}

l'eccezione dopo la seconda dequeue manda un mex a video e dice che si è ecceduto rispetto la lunghezza dell'array e il prog termina, quindi nn esegue il JOptionPane...mettendo in un blocco catch come hai detto tu le operazioni da eseguire se parte un'eccezione non mi pare molto fattibile visto che dovrei scrivere il pezzo successivo del programma ogni volta nel blocco catch

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...