Gestione delle Eccezioni in C#

di il
3 risposte

Gestione delle Eccezioni in C#

Ciao a Tutti

Sto studiando la gestione delle eccezioni in C# e non riesco a capire come mai il compilatore mi da il seguente errore : "use of unassigned local variable (num)".
Il fatto è che dopo aver introdotto un blocco di try ,dove controllo il codice,inserisco la catch che stampa un testo,ma siccome all'interno del blocco di try viene usata la stessa variabile (locale al blocco credo ?!?) che viene usata nell'intera applicazione ,il compilatore mi va in errore.

Domanda : come faccio a mettere sotto try qualsiasi blocco di programma senza perdere la funzionalita' delle variabili in esso controllate e che vengono successivamente utilizzate dal programma ???

Forse bisognerebbe usare un passaggio di valori dal Main al blocco try ???
Ma come si fa???


Questa è la parte di codice che incriminata:

-------------------------------------

// Richiesta dimensione array
Console.WriteLine("---Creazione DataBase Impiegati---");
Console.WriteLine(" ");
Console.Write("- Inserire numero impiegati: ");
try
{
tmp = Console.ReadLine();
num = Convert.ToInt32(tmp);
}
catch (FormatException)
{
Console.WriteLine("Attenzione : Dato inserito in formato incorretto !!!");
}

// Creazione array
Impiegato[] lista = new Impiegato[num];

// Inizializzazione elementi dell' array
for (int ind = 0;ind < num;ind++)
{
// Instanzziazione oggetto di tipo Impiegato
Impiegato Persona = new Impiegato();


----------------------------

Spero in una vostra Illuminazione !!! <img src=imgsmile.gif border=0 align=middle>

Ciaoooo

3 Risposte

  • Re: Gestione delle Eccezioni in C#

    Non ho capito bene il problema, ma penso che ti basti dichiarare la variabile num al di fuori del blocco try, in modo che sia visibile.
    Saluti
    Marko
  • Re: Gestione delle Eccezioni in C#

    Vedi,il fatto è che la mia variabile num E' DICHIARATA nel Main,ma mi da' l'errore !!! (qui non ho incluso tutto lo script)

    Tutto cio' dipende dalla differenza tra le variabili di classe e le varibili locali.L'area di validita' delle variabili!!!

    L'errore avviene sull'utilizzo della prima variabile num usata dopo il blocco di catch.
  • Re: Gestione delle Eccezioni in C#

    Ciao Surfer,
    sono un programmatore Java quindi ciò che scrivo va preso debitamente con le molle!

    In Java non puoi dichiarare una variabile fuori da un blocco try-catch e utilizzarla all'interno, e neache dichiararla all'interno ed utilizzarla fuori.

    Senza entrare nel dettaglio dei perchè e per come, se hai necessità di questo blocco, prova a scrivere tutto il codice del main all'interno... è però un pastrocchio !

    ...meglio definirti un metodo che ti restituisca un oggetto di tipo intero e che ha all'interno il blocco try-catch, ovvero quello che vuoi fare tutto nel main lo "spezzetti"!

    Un consiglio per i linguaggi fortemente orientati agli oggetti come Java e C#. Suddividi i problemi in sotto-problemi, fino ad un livello che ti permetta di scrivere codice senza "accrocchiare" troppo... altrimenti perchè usarli!

    Ciao,
    Asso Di Coppe

    Don't be worry, is only a piece
Devi accedere o registrarti per scrivere nel forum
3 risposte