我完全"新鲜"到Ruby并来自.NET背景。
我尝试创建一个非常简单的rake任务,将带有json对象的文件导入到我的数据库中。 当我试图在each_line的代码块内进行救援时,我的IDE引发了错误
File.open('etc/metrics_json.log').each_line do |line|
metric_hash = JSON.parse(line)
Metric.create(metric_hash)
rescue RuntimeError => e
puts e.message
end
错误是"语法错误,意外的keyword_rescue,期待keyword_end"
我做错了什么?
答案 0 :(得分:2)
您可以像
一样使用它File.open('etc/metrics_json.log').each_line do |line|
begin
metric_hash = JSON.parse(line)
Metric.create(metric_hash)
rescue RuntimeError => e
puts e.message
end
end
答案 1 :(得分:1)
您可以使用方法def
作为开头。例如
def example_method
....
rescue
....
end
如果没有,则需要使用begin end
。
begin
metric_hash = JSON.parse(line)
Metric.create(metric_hash)
rescue RuntimeError => e
puts e.message
end