This shows you the differences between two versions of the page.
ro:onerror [2017/08/23 04:36] junior-root created |
ro:onerror [2020/02/28 10:46] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== OnError (Instrucțiune) ===== | ||
- | > **Engleză: | ||
- | ==== Format ==== | ||
- | **onerror** [[labelprogramsyntax|etichetă]] | ||
- | ==== Descriere ==== | ||
- | Instrucțiunea **OnError** pornește o capcană care să capteze și să trateze erorile de execuție. Din momentul în care o capcană este activă, în cazul unei erori de execuție, aceasta din urmă nu mai este afișată în fereastra " | ||
- | |||
- | O capcană **OnError** activă întrerupe programul și execută un salt de tip [[GosubReturn|Gosub]] la [[labelprogramsyntax|eticheta]] menționată ori de câte ori are loc o eroare. După ce codul de la eticheta menționată este executat și se întâlnește instrucțiunea [[return|Return]], | ||
- | |||
- | Capcanele de erori definite cu **OnError** sunt păstrate într-o stivă, astfel încât doar ultima capcană definită va fi cea activă. Pentru a elimina ultima capcană din stivă se va utiliza instrucțiunea [[offerror|OffError]]. | ||
- | |||
- | De menționat este faptul că aceste capcane sunt inactive în cadrul capcanelor definite prin blocurile de tip [[Try|Try / Catch / End Try]]. | ||
- | ==== Exemplu ==== | ||
- | < | ||
- | # test pentru tartarea erorilor | ||
- | onerror capcana | ||
- | print 1 | ||
- | a = 0/0 | ||
- | print 2 | ||
- | open 999, " | ||
- | print 3 | ||
- | i = imageload(" | ||
- | print " | ||
- | # oprește captarea erorilor | ||
- | offerror | ||
- | print 4 | ||
- | a = 0/0 | ||
- | print " | ||
- | end | ||
- | |||
- | capcana: | ||
- | # aici se vor gestiona erorile întâlnite | ||
- | print " | ||
- | return | ||
- | </ | ||
- | va afișa: | ||
- | < | ||
- | 1 | ||
- | Capcană - eroare la linia: [4]; cod eroare: [50]; mesaj: [Division by zero]; informații suplimentare: | ||
- | 2 | ||
- | Capcană - eroare la linia: [6]; cod eroare: [5]; mesaj: [Invalid File Number]; informații suplimentare: | ||
- | 3 | ||
- | Capcană - eroare la linia: [8]; cod eroare: [93]; mesaj: [Error downloading file]; informații suplimentare: | ||
- | Rulează în continuare | ||
- | 4 | ||
- | ERROR on line 13: Division by zero. | ||
- | </ | ||
- | Vezi și exemplul de utilizare din pagina instrucțiunii [[ThrowError|ThrowError]]. | ||
- | ==== Vezi și ==== | ||
- | {{page> | ||
- | ==== Istoric ==== | ||
- | |0.9.6z|Adăugată în acestă versiune| | ||
- | |1.99.99.33|Removed the ability to use a subroutine for error trapping| | ||