Я пытаюсь обработать исключение, вызванное следующим кодом:
begin
reader = CSV.open(ARGV[0],col_sep=";")
rescue
puts "exception: " + $!
exit
end
К сожалению, я не могу правильно отобразить сообщение, Ruby не интерпретирует $!как строка, и ни один из них не может правильно ее преобразовать:
$ ruby.exe fixcsv.rb csvfile
fixcsv.rb:11:in `+': can't convert ArgumentError into String (TypeError)
from fixcsv.rb:11:in `rescue in <main>'
from fixcsv.rb:8:in `<main>'
Я действительно не могу понять, почему это происходит;В следующем уроке показан похожий код, который, очевидно, учитывает правильное преобразование строки $ !: http://ruby.activeventure.com/programmingruby/book/tut_exceptions.html
Это имеет какое-либо отношение к тому факту, что я явно не устанавливал класс исключения?