Eroare de execuție
În timpul funcționării aplicației pot apărea erori, care se numesc erori de timp în execuție sau excepții. În cele mai multe cazuri, motivul pentru excepție este datele sursă incorecte. De exemplu, dacă introduceți 3,20 în timpul programului de calcul al timpului de rulare în câmpul Timp, adică. pentru a separa partea fracționată a întregului de întregul, apoi apăsând butonul Calculate, apare o fereastră cu un mesaj de eroare (Figura B42).
Fig. Q42. Exemplu de eroare de timp de execuție (programul rulează din Windows)
Motivul erorii este următorul. În textul programului, partea fracționată a întregului este separată de o perioadă. Când introduceți datele inițiale în câmpul de editare, utilizatorul poate (dacă nu depune efort suplimentar) pentru a separa partea fracționată a numărului de întregul punct sau virgulă. Care dintre aceste două caractere este valabil depinde de setarea Windows.
Dacă configurați Windows specifică faptul că partea zecimală a - o virgulă (pentru Rusia această setare implicită este), iar utilizatorul, în timp ce programul va intra în câmpul de editare, de exemplu, linia de 3.20, atunci instrucțiunea este executată
o excepție are loc, adică. a. standardul pentru Configure Rusă conținutului din câmp pentru Windows Edit2 și, prin urmare, argumentul StrToFloat funcție nu este o imagine a unui număr fracționar.
Dacă programul este pornit din mediul de dezvoltare, atunci când survine excepția, executarea programului este suspendată și pe ecran apare o fereastră cu un mesaj de eroare și tipul acestuia. Ca un exemplu, Fig. B43 afișează o fereastră cu un mesaj că șirul introdus de utilizator nu este un număr fracționat.
Fig. B43. Exemplu de mesaj de excepție (programul este pornit de la Delphi)
După apăsarea butonului OK, programatorul poate continua executarea programului (în acest scop, selectați comanda Step Over din meniul Executare) sau întrerupeți executarea programului. În acest din urmă caz, trebuie să selectați comanda Program Reset din meniul Executare.
La dezvoltarea programatorului, programatorul ar trebui să încerce să furnizeze toate variantele posibile ale acțiunilor incorecte ale utilizatorului, ceea ce poate duce la erori de execuție (excepții) și poate oferi modalități de protecție împotriva acestora.
Listarea B5 arată versiunea a vitezei de rulare, care are o anumită protecție de la acțiuni de utilizator incorecte, în special, pentru a intra în câmpul programma.pozvolyaet distanța (Editl) doar numere.