Gerade beim Arbeiten mit Dateien kommt es oft zu Situationen, in denen Fehler drastische Auswirkungen haben, wenn zum Beispiel Daten nicht geschrieben werden konnten und das Programm beendet wird. Rubys eingebauter Mechanismus zur Ausnahme- und Fehlerbehandlung (siehe Kapitel 11) sorgt dafür, dass die Behandlung solcher Ausnahmezustände den Programmierer nicht über Gebühr beansprucht.
# Fehler führt zum Abbruch
f = File.open("gibtsnicht") #-> No such file ...
# mit Behandlung läuft es weiter
begin
puts "open"
f = File.open("gibtsnicht")
puts "erfolgreich"
rescue
puts $!
# leere Datei erzeugen
File.open("gibtsnicht", "w") {}
retry # und nochmal von vorne
end