Fehler fängst du mit begin ... rescue ... ensure ... end; mit raise löst du selbst einen aus. Dateien liest du mit File.read und schreibst mit File.write. Mit File.open(...) do |f| ... end wird die Datei am Ende automatisch geschlossen.
So lassen sich Skripte zur Automatisierung schnell schreiben.
File.write("notiz.txt", "Zeile 1\nZeile 2\n")
File.readlines("notiz.txt", chomp: true).each { |z| puts z }
begin
Integer("abc")
rescue ArgumentError => e
puts "Keine Zahl: #{e.message}"
ensure
puts "fertig"
end
def pruefe(alter)
raise ArgumentError, "negativ!" if alter < 0
alter
endMerke
begin/rescue/ensureraiselöst Fehler ausFile.open ... do |f|schließt automatisch
Aufgabe
Lies eine Datei ein und zähle ihre Zeilen.