Diskuze: Chybná vyjímka ?

C# .NET .NET (C# a Visual Basic) Chybná vyjímka ? American English version English version

Avatar
jackxl
Člen
Avatar
jackxl:

Zdar.
Náhodně se mi stává, že při vyčítání pole, ArrayListu, Listu mi Visual Studio na posledním indexu těchto prvků vyhodí vyjímku, že index je mimo hranice. Když to pole ale rozliknu,abych se podíval že index je mimo, tak vidím, že mimo hranice není.
Nestává se vám to taky ? Čím by to mohlo být ? Používám Framework 4 na VS2010.

Odpovědět 15.11.2015 23:22
Žádná hranice není nepřekonatelná.
Avatar
Milan Křepelka
Redaktor
Avatar
Milan Křepelka:

Je velmi pravděpodobné že

  • nepoužíváš foreach a ve for to prostě přepískneš
  • používáš for a v průbehu cyklu modifikuješ daný seznam, odstraníš něco ze seznamu

Hoď sem nějaký příklad takového podobného cyklu

 
Nahoru Odpovědět 16.11.2015 9:01
Avatar
jackxl
Člen
Avatar
Odpovídá na Milan Křepelka
jackxl:
int [] prom = new int [5] {1,2,3,4,5};
int abc = 0;
for(int i=0;i<5;i++)
{
        abc = prom[i];
}

Klasický příklad. Nic nemodifikuji a ani nevkládám mimo. Přičemž na abc = prom[4] to spadne. Nestane se to pokaždé, ale pouze náhodně, takže chyba nemůže být v syntaxi. Vyjímka program zastaví, hodím si to do watch window a vidím, že pro vyjímku není důvod.

Pokud se to objeví ještě někdy v budoucnu, udělám Screen obrazovky.

Nahoru Odpovědět 16.11.2015 21:29
Žádná hranice není nepřekonatelná.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.