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.
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
Il mio intento è quello di catturare una eccezione nell'inserimento all'inizio per dimensionare l'array.
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.