PDA

View Full Version : intercettare eccezione


giangi_luca
22-07-2010, 20:36
ciao ragazzi,
ho questo dubbio.
io intercetto nel catch l'eventuale eccezione
che si potrebbe verificare.
però vorrei che se se verifica l'eccezione
la mia applicazione continui a andare avanti.
cosi come ho fatto funzione.
vi chiedo:
1. è corretto come ho scritto?
2. nel catch devo scrivere qualcosa?


try

{
statistica1 = vetRiga[4];
statistica2 = vetRiga[5];
statistica4 = vetRiga[7];
}
catch (IndexOutOfRangeException)
{
}

gugoXX
22-07-2010, 21:09
Perche' non provi a prevenire l'eccezione?
Con qualcosa tipo


statistica1 = TryGetvetRiga(4);
statistica2 = TryGetvetRiga(5);
statistica4 = TryGetvetRiga(7);


...

private quellaclasse TryGetvetRiga(int index)
{
if (vetRiga.Length>index)
return vetRiga[index];
return null;
}


O qualcosa di simile...

giangi_luca
24-07-2010, 15:09
perfetto. era quello di cui avevo bisgno

grazie
gianluca

WarDuck
25-07-2010, 09:29
Tutto sta a vedere se la condizione per cui sollevi l'eccezione è effettivamente una eccezione oppure no...

Nel senso, è previsto che ci siano alcuni elementi nulli all'interno del vettore oppure è a tutti gli effetti una cosa che non dovrebbe capitare?

Nel primo caso allora puoi fare a meno dell'eccezione in senso stretto, nel secondo caso hai una eccezione e potresti volerla gestire per non terminare il programma.

Nel primo caso comunque ti dovrai assicurare che le variabili "statistica" non siano comunque nulle.

Tesinevb
25-07-2010, 10:17
Perche' non provi a prevenire l'eccezione?
Con qualcosa tipo


statistica1 = TryGetvetRiga(4);
statistica2 = TryGetvetRiga(5);
statistica4 = TryGetvetRiga(7);


...

private quellaclasse TryGetvetRiga(int index)
{
if (vetRiga.Length>index)
return vetRiga[index];
return null;
}


O qualcosa di simile...


k