Sottotitolo: quando un blog comincia ad assomigliare + ad un forum personale...

Davanti ad un codice di questo tipo:

try
{
    Polygon tempPolygon = 
this.ReadPolygons(shape, FeatureType.Polygon);    // Lettura di una geometria poligonale da un DB
    
if (index >= tempPolygon.NumInteriorRings + 1) throw new IndexOutOfRangeException("");    // index è un parametro di una funzione a cui appartiene il codice
    
return tempPolygon.ExteriorRing.ToWKTString();
}
catch(IndexOutOfRangeException)
{
    
return "NULL";
}

E' vantaggioso eliminare l'eccezione in favore di questo:

Polygon tempPolygon = this.ReadPolygons(shape, FeatureType.Polygon);
if (index >= tempPolygon.NumInteriorRings + 1) return "NULL"
return tempPolygon.ExteriorRing.ToWKTString();

L'"eleganza" penso vada a vantaggio della gestione delle eccezioni (oltre al fatto che nel catch prima o poi dovrò aggiungere dei log ed altro), ma, visto e considerato che mi aspetto che l'utente spesso inserisca un valore di index superiore al consentito ed in questo specifico caso un file di log nn mi serve, l'eliminazione mi farà guadagnare significativamente del tempo nell'esecuzione?

Mi chiedo questo perchè in passato ho letto articoli in cui si parlava del fatto che la gestione delle eccezioni rallenta notevolmente l'esecuzione di un programma c++, mentre non succede altrettanto in Java.

Mi aspetto che C# si comporti come quest'ultimo, ma finchè non mi metto a testare la cosa oppure non interviene qualche anima pia... :)

 

powered by IMH0 1.1