Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C# wyjątek - Proszę o małą radę przy wstawianiu wyjątków.

druminski 21 Lis 2015 15:55 609 3
  • #1 21 Lis 2015 15:55
    druminski
    Poziom 9  

    Kod mojego programu (w komentarzu opis jak powinien działać)

    Kod: csharp
    Zaloguj się, aby zobaczyć kod


    Mój problem dotyczy dodania wyjątku gdy index jest poza zakresem tablicy.
    W tej postaci pętla w funkcji 'sprawdzenie' będzie chodzić w nieskończoność.
    Powinienem dodać ten wyjątek w innym miejscu czy tę funkcję przenieść lub usunąć.

    Pozdrawiam: Zmartwiony Patryk.

    0 3
  • Pomocny post
    #2 21 Lis 2015 19:27
    wiesniak
    Poziom 31  

    A musisz używać wyjątków w tym wypadku? Zamiast int.Parse możesz użyć int.TryParse żeby wyjątku nie było. Podobnie przy obsłudze tablicy, możesz użyć właściwości Length i sprawdzić, czy indeks jest w zakresie. Moim zdaniem to lepsze podejście niż łapanie wyjątków.

    0
  • Pomocny post
    #3 21 Lis 2015 19:28
    marcinj12
    Poziom 40  

    Po pierwsze: nazwy funkcji nie są zbyt logiczne, nie oddają tego, co funkcja robi. Jeśli masz funkcję która pobiera rozmiar tablicy, czemu nie nazwiesz jej PobierzRozmiarTablicy?

    Po drugie: miałeś napisać funkcję, która zapyta o pozycję i zwróci wartość elementu o podanej pozycji w tablicy. Mogłeś to zrobić w jednej funkcji.

    Po trzecie: nie robi się takich nieskończonych pętli jak masz w tej chwili. Nigdzie nie masz napisane, że masz sprawdzać wartości w nieskończoność - wystarczy obsłużyć wyjątek jeśli pojawi, bez żadnych pętli.

    Po czwarte: nie zabezpieczyłeś programu przed sytuacją, gdy użytkownik poda jako rozmiar wartość ujemną. Tworzenie nowej tablicy może też nie udać się z innych przyczyn, np. przekroczenie dopuszczonej pamięci.

    0