User Tools

Site Tools


ro:onerror

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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ă:** //**ON** = pornit; **ERROR** = eroare// 
-==== 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 "Ieșire Text", iar programul nu mai este oprit din execuție. 
- 
-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]], execuția programului este reluată din același punct în care a fost întreruptă când a apărut eroarea. 
- 
-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 ==== 
-<code> 
-# test pentru tartarea erorilor 
-onerror capcana 
-print 1 
-a = 0/0 
-print 2 
-open 999, "fișier_imaaginar" 
-print 3 
-i = imageload("http://adresainexistenta.net/imagine.jpg") 
-print "Rulează în continuare" 
-# oprește captarea erorilor 
-offerror 
-print 4 
-a = 0/0 
-print "niciodată nu va ajunge aici" 
-end 
- 
-capcana: 
-# aici se vor gestiona erorile întâlnite 
-print "Capcană - eroare la linia: ["; lasterrorline; "]; cod eroare: ["; lasterror; "]; mesaj: ["; lasterrormessage; "]; informații suplimentare: ["; lasterrorextra; "]" 
-return 
-</code> 
-va afișa: 
-<code> 
-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: [Host adresainexistenta.net not found] 
-Rulează în continuare 
-4 
-ERROR on line 13: Division by zero. 
-</code> 
-Vezi și exemplul de utilizare din pagina instrucțiunii [[ThrowError|ThrowError]]. 
-==== Vezi și ==== 
-{{page>ro:start#Tratarea excepțiilor&noheader}} 
-==== Istoric ====  
-|0.9.6z|Adăugată în acestă versiune| 
-|1.99.99.33|Removed the ability to use a subroutine for error trapping| 
  
ro/onerror.txt · Last modified: 2020/02/28 10:46 (external edit)