问候,
我有一个ruby脚本,它打开文件并将文件中的数据插入数据库.某些文件丢失,因此当脚本尝试打开文件时,它会抛出一个未找到文件的异常.
任何人都可以告诉我如何继续这个过程而不是整个事情突然结束.请注意这是我用红宝石做的第一件事,所以要温柔!:-)
我正在使用的代码如下
def insertData
for i in (1..93)
puts "now looking at #{i}"
file = File.new("callspan/#{i}", "r")
while(line = file.gets)
with_db do |db|
db.query(line)
end
end
end
Run Code Online (Sandbox Code Playgroud)
通过调用File.exists?来包装文件的开头,或者从异常中解救.我更喜欢前者,如果你期望它是一个常见的情况(例外是"特殊"问题).
def insertData
for i in (1..93)
puts "now looking at #{i}"
next if !File.exists?("callspan/#{1}")
file = File.new("callspan/#{i}", "r")
while(line = file.gets)
with_db do |db|
db.query(line)
end
end
end
end
Run Code Online (Sandbox Code Playgroud)