Hey.
Mam za zadanie napisać program wykorzystujący try, catch, throw.
Kawałek kody, o który mi konkretnie chodzi.
Chce zrobić aby wyrzucał wyjątek przy wyjściu poza zakres tablicy, wyjątek robiony na podstawie przykładu ze strony MS. Lecz mimo wyjątku przy wyjściu z tablicy wciąż program się wysypuje,
Dlaczego tak się dzieje i co musiałbym poprawić?
static void wyjsciePozaZakres()
{
int[] tab = { 4, 5, 3, 4, 5 };
int index;
Console.WriteLine("Podaj index");
index = Int32.Parse(Console.ReadLine());
Console.WriteLine(pobierzWartosc(tab, index));
}
static int pobierzWartosc(int[] tablica, int index)
{
try
{
return tablica[index];
}
catch (IndexOutOfRangeException e)
{
Console.WriteLine(e.Message);
throw new ArgumentOutOfRangeException("Index jest poza zakresem.", e);
}
}