Gestiunea erorilor în Ruby se realizează prin blocul begin ... rescue ... ensure ... end. În ierarhia de clase din Ruby, majoritatea erorilor de aplicație moștenesc din StandardError.
Tratarea excepțiilor cu salvare și reîncercare (retry)
incercari = 0
begin
incercari += 1
puts "Tentativa #{incercari}: Se încearcă conectarea la serverul extern..."
if incercari < 3
raise IOError, "Conexiunea la rețea a eșuat temporar!"
end
puts "Conexiune stabilită cu succes!"
rescue IOError => e
puts "[AVERTISMENT] Eroare captată: #{e.message}"
if incercari < 3
sleep(0.3)
retry # Reia execuția blocului begin de la prima linie!
else
puts "[EROARE CRITICĂ] S-a depășit numărul maxim de reîncercări."
end
ensure
# Blocul ensure se execută ÎNTOTDEAUNA, indiferent dacă a apărut o eroare sau nu:
puts "[CLEANUP] Resurse eliberate."
end
Întrebări & Exemple de Cod:
Tratarea Erorilor în Ruby: begin, rescue, ensure, raise și retryAi o nelămurire despre utilizarea comenzii
Tratarea Erorilor în Ruby: begin, rescue, ensure, raise și retrysau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.