Buon giorno a tutti.
Sto costruendo una semplice applicazione dove bisogna dimensionare l'array scrivere il suo valore e stamparlo.
E fin qui tutto bene solo che devo fare anche la gestione degli errori.
Il mio intento è quello di catturare una eccezione nell'inserimento all'inizio per dimensionare l'array.codice:// Dimensiona, carica e stampa array e gestisci errori da tastiera using System; using System.Collections.Generic; using System.Text; namespace Prova2 { class Program { static void Main(string[] args) { int dim; Console.WriteLine("Dare un valore per dimensionare l'array"); try { dim = Convert.ToInt32(Console.ReadLine()); } catch (Exception e) { Console.WriteLine("Attenzione utilizzare un numero"); } dim = Convert.ToInt32(Console.ReadLine()); int[] arr = new int[dim];// dichiarazione di array con dimensionamento carica(arr);// subroutine carica Console.WriteLine("Questi sono i " + dim + " valori dell'array dimensionato"); stampa(arr);// subroutine stampa Console.ReadLine(); }// fine metodo Main static void carica(int[] n)// subroutine carica { for (int c = 0; c < n.Length; c++) { Console.Write("Inserire valore per l'array " + c + " = "); int v = Convert.ToInt32(Console.ReadLine()); n[c] = v; }// fine subroutine carica } static void stampa(int[] n) // subroutine stampa { for (int c = 0; c < n.Length; c++) { Console.Write(n[c] + " "); } }//fine subroutine stampa }// fine classe }// fine namespace
Cioè se viene premuto un carattere o un simbolo e dato invio viene catturata l'eccezione ma solo una volta, quindi all'inserimento successivo che non sia un numero il mio programma fallisce perchè non c'è più il try catch.
Qualcuno può aiutarmi affinche all'inizio se continuo a sbagliare mi venga catturata l'eccezione.
Grazie.