受信データファイルには、エスケープされていない引用符などの不正な形式のCSVデータと、新しい行を含むフィールドなどの(有効な)CSVデータが含まれています。CSV形式のエラーが検出された場合は、そのデータに対して別のルーチンを使用したいと思います。
次のサンプルコード(簡単にするために省略)
FasterCSV.open( file ){|csv|
row = true
while row
begin
row = csv.shift
break unless row
# Do things with the good rows here...
rescue FasterCSV::MalformedCSVError => e
# Do things with the bad rows here...
next
end
end
}
MalformedCSVErrorは、csv.shiftメソッドで発生します。レスキュー句からエラーの原因となったデータにアクセスするにはどうすればよいですか?