|
|
|
|
|
Upravljajmo z napakami v Visual Basic
Upravljanje z napakami je zelo koristno, saj lahko s tem dosežemo, da se program tudi v primeru napak uporabnika normalno izvaja.
|
|
 |
|
|
|
|
|
 |
|
 |
|
 |
 |
1.
|
|
|
Večino napak se zgodi zaradi uporabnika, na primer, da le ta v polje za številke vpiše črke in se vam potem pokaže napaka.
Te napake so znane kot "synchronous errors".
|
|
| |
2.
|
|
|
Za začetek vam bom razložil On Error GoTo sintakso.
Ustvarite aplikacijo, kot je prikazana na sliki. Imena tekstov in textbox-ov so prav tako zapisana v sliki.
|
|
| |
3.
|
|
|
Zdaj dvokliknete na Button1 in vnesete naslednjo kodo:
Dim prva, druga As Double
prva = TextBox1.Text
druga = TextBox2.Text
TextBox3.Text = prva / druga
S to kodo smo programu samo dodali funkcijo deljenja.
|
|
| |
4.
|
|
|
Zdaj med kodo Dim prva, druga As Double in prva=TextBox1.Text dodamo naslednjo kodo:
On Error GoTo upravljanje_napake
S to vrstico programu sporočimo, da ko se zgodi napaka, naj nadaljuje izvajanje na mestu upravljanje_napake.
Če napake ne pričakujete, pa lahko spustite besedo On Error (Slika v zadnjem koraku)
|
|
| |
5.
|
|
|
Ker pa nam je program sporočil, da odsek upravljanje_napake ni definiran, ga bomo najprej ustvarili. Zato na konec kode dodamo naslednje tri vrstice:
upravljanje_napake:
TextBox3.Text = "Napaka"
Label7.Text = "En vnos ni številka!"
V prejšnjem koraku smo programu ukazali, naj ob napaki izvede kodo, ki je v upravljanje_napake. S prvo vrstico smo definirali upravljanje_napake.Z drugo in tretjo vrstico bo program uporabniku sporočil napako.
|
|
| |
6.
|
|
|
Sedaj program preverimo z napačnimi vednostmi.
Ugotovili smo, da nam je program sporočil napako.
|
|
| |
7.
|
|
|
Sedaj pa vnesemo še pravilne vrednosti in ugotovimo, da nam je program spet sporočil napako, ki je ni.
|
|
| |
8.
|
|
|
To bomo pa odpravili tako, da bomo pred vrstico upravljanje_napake vpisali Exit Sub .
To bo programu preprečilo izvajanje upravljanje_napake.
|
|
| |
9.
|
|
|
Program le še preizkusimo in vidimo, da deluje z napačnimi in pravilnimi vrednostmi.
|
|
| |
10.
|
|
|
Zdaj vam bom razložil še Try, Catch in End Try metode.
Prejšnjo kodo spremenimo v sledečo:
Dim prva, druga, odgovor As Double
prva = TextBox1.Text
druga = TextBox2.Text
odgovor = prva / druga
TextBox3.Text = odgovor
|
|
| |
11.
|
|
|
Pred vrstico prva=TextBox1.Text dodamo Try in na konec kode dodamo End Try .
|
|
| |
12.
|
|
|
Pred End Try pa dodamo kodo:
Catch ex As Exception
TextBox3.Text = "Napaka"
Label7.Text = "En vnos ni številka!"
S to kodo bo program ujel izjemo, ko uporabnik programa ne vpiše številke in bo zato program uporabniku vrnil sporočilo o napaki. Če pa tukaj ni nobene izjeme, bo program vrnil pravilen odgovor.
|
|
| |
13.
|
|
|
To je bilo vse, na forum pa napišite, katero lekcijo si želite naslednjič.
Tukaj je še slika, kako uporabiti GoTo sintakso.
|
|
|
 |
 |
|
|
|
|