Ruby uses exceptions. Instead of try
, the block is called begin
, and instead of catch
there is rescue
. The else
is executed when no exception occurs.
There is also an ensure
block which is always run last, exception or no.
# Count and report the number of lines and characters in a file. print "File name: " fn = gets.chomp begin f = open(fn) nlines = 0 length = 0 f.each { |line| nlines += 1; length += line.length } rescue print "File read failed: " + $! + "\n" else print fn, ": ", nlines, " lines, ", length, " characters.\n" end