Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Detekcia chybu pretečenia v kóde skôr , než sa to stane , je ťažké , pretože syntakticky , väčšina výpočtov , ktoré vedú k chybe pretečeniu nespúšťajú žiadne upozornenia v jazyku Visual Basic . Viac často ako ne , stanete sa vedomí chýb pretečeniu počas testovania programu ( alebo ešte horšie , od užívateľov potom, čo ste ho distribuovať ) , a potom budú musieť vrátiť do kódu k náprave . Zvyčajne k nim dochádza , keď váš program pridá alebo násobenie čísla dohromady , ktoré prekračujú maximálny povolený počet pre dátový typ .
Dátové typy
Visual Basic . NET má viac ako 10 číselné dátové typy , z ktorých každý má rôzne limity , aký veľký počet sa môže držať . Napríklad premenná byte môže mať hodnoty od nuly do 255. Ak sa pokúsite priradiť hodnotu 256 do premennej , a to aj tým , že násobia 16 krát 16 v kóde , bude Visual Basic rozpoznať pretečeniu a nedovolí vám zostaviť program . Avšak, ak sa pri vykonávaní svojho programu , vynásobí tieto čísla a uloží ich do premennej byte , VB spadne kvôli chybe pretečeniu .
Opravy
Ak ste si istí , že čísla vo vašom programe nemôže pretečeniu , mali by ste naprogramovať obslužný program chýb . Naprogramovať obslužný program chýb zachytiť chyby pretečeniu bez vynútenia program sa zrúti použiť VB.NET ' s " On Error " vyhlásenie . Ak zistíte chyby pretečeniu v kóde , opraviť zmenou dátového typu premennej na nejaký väčší a skontrolujte výpočty v programe , aby zabezpečili , že viete , čo sa maximálne hodnoty čísla môžu byť .
Úvahy
Najlepšie kódovacie postupy diktovať , že používate dátový typ najvhodnejšie pre hodnotami váš program spočíta , niekedy nebudete vedieť , čo tieto hodnoty môžu byť . Ak si nie ste istí , aké veľké množstvo sa môže stať vo svojom programe , preceňovať a využiť najväčšie číselný typ dát nie je k dispozícii . Hoci väčšie dátové typy vyžadujú viac miesta , väčšina počítačov má viac ako dostatok priestoru k dispozícii , a zvládne tieto premenné , aby hrozilo z pamäte . To povedie k zníženiu alebo odstráneniu chyby pretečeniu v programe .