130 likes | 315 Views
VISUAL BASIC. PRALG. 19. Chyby a ladění programu. Kompilační chyby - chybná syntaxe, neexistující objekt, chybný parametr, ... Run-time chyby - dochází k nim za běhu programu, odkazování se na neexistující objekt, … Logické chyby - nejhůře odstranitelné. Ladění programu.
E N D
VISUAL BASIC PRALG
19. Chyby a ladění programu • Kompilační chyby - chybná syntaxe, neexistující objekt, chybný parametr, ... • Run-time chyby - dochází k nim za běhu programu, odkazování se na neexistující objekt, … • Logické chyby - nejhůře odstranitelné
Ladění programu Ladit program znamená plánovitě hledat a odstraňovat především jeho logické chyby Při chybě: • Continue - pokračovat (jen při malých chybách) • End - ukončit běh programu • Debug - ladit program, program se přepne na řádek, kde nastala chyba • Help - zobrazit detailnější výpis chyby a její možné příčiny
Zarážky • Zarážky neboli body přerušení označují řádky – kde se vykonávání programu přeruší • nastavují se klepnutím myši na šedý okraj vedle řádku Umístění zarážek: • před rozvětvení programu • do všech větví, které připadají v úvahu
Okno Local, Okno Watches • LOCALS- sleduje všechny proměnné • Watches - pro sledování určité proměnné nebo výrazu • proměnné, které mají být sledovány se přidávají příkazem Add Watch
Okno Immediate • Pro testování řádků kódu. Lze jej používat jak v návrhovém režimu, tak v režimu přerušení.
Odchytávání chyb za běhu programu • Run – time chyby • Příkaz On Error GoTo • Kam zařadit? • Na začátek procedury, před místo kdy mohou nastat chyby
Run-time chyby • On Error GoTo řádek/návěští Aktivuje se řádek s chybovou rutinou • OnError Resume Next Pokračuje následujícím řádkem • On Error GoTo 0 – deaktivuje chybovou rutinu • Pozor neznamená skok na řádek 0 ! • Kód chyby se vrací vErr.Number – Integer • Objekt, který způsobil chybu - Err.Source • Přehled chyb v Help
Příklad : Vytvořte proceduru pro výpočet podílu dvou čísel. Pomocí odchytávání chyb ošetřete, aby nevznikala chyba v případě dělení nulou. Dále zjistěte čísla možných chyb a upravte program tak, aby reagoval na konkrétní chyby. Private Sub cmdtest_click() On Error Goto odchycenichyb MsgBox txtprvni.text/txtdruhe.text Exit Sub Odchycenichyb: MsgBox “Nepovolené dělení nulou“ Resume Next End Sub
Číslo chyby ERR.Number Private Sub cmdtest_click() On Error Resume Next MsgBox txtprvni.Text / txtdruhe.Text Select Case Err.Number Case 13 MsgBox "Musí být zadána čísla!" Case 11 MsgBox "Nepovolené dělení nulou" End Select End Sub
12. Události ve VB • Vyvolané myší • Vyvolané klávesou • DragDrop, DragOver • Vyvolané z externích zařízení
Vyvolané myší • Click • DoubleClick • MouseDown • MouseUp • MouseMove • Change
Události z klávesnice • KeyDown • KeyUp • KeyPress • KeyPreview Kódy kláves Constant Value Description vbKeyLButton 1 Left mouse button vbKeyRButton 2 Right mouse button vbKeyCancel 3 CANCEL key