[RubyDoc Exceptions] - begin, rescue, catch, raise, retry <=> try, catch, finally (Java)
Mieux qu'un long discours, un exemple !!
#la bonne façon d'ouvrir un fichier!!
begin
f = File.new('C:\\myFile.txt', 'r')
rescue => err
puts "#{err}"
ensure
f.close unless f.nil?
end
> ouverture du fichier "myFile.txt" en cas d'erreur on affiche l'erreur que l'on récupère (rescue)
> ensure : on s'assure que dans tous les cas on ferme la socket du fichier ;)
NB: on peut bien sur exécuter d'autres traitements...
catch/throw ! on peut vouloir ne pas s'arrêter dans un traitement!
on peut retenter l'opération "retry/raise"
la récupérer "catch", ou la repropager "throw"
plus de détail dans la doc :)