下面的示例中,将会从一个数据文件读取一行,如果那一行中一个特殊的字串,就引发一个异常。假如确实包括那个子串,则返回一行。假如没有,则引发ArgumentError异常。但是不管发生什么,都需要在方法结束前关闭文件。
代码
def line_from_file(filename,substring)
fh=File.open(filename)
begin
line=fh.gets
raise ArgumentError unless line.include?(substring)
recue ArgumentError
puts "Invalid line"
raise
ensure
fh.close
end
return line
end