Я пишу скрипт, который собирает данные из разных url. Я хочу собрать ошибки из begin rescue
блоков в массив, чтобы выводить их, когда программа работает в подробном режиме. При нормальном использовании неудавшееся соединение игнорируется, и сценарий переходит к следующему URL-адресу.Сбор исключений в скрипте ruby
Я думал, что лучший способ сделать это было бы создать массив errArray = Array.new
в верхней части сценария держать ошибки, а затем сделать:
rescue Exception => e
errArray << e.message
в различных функциях журнал ошибок. Функция die
выводит массив с использованием p
, если он не пуст. Однако, я получаю ошибку
Undefined local variable or method 'errArray'
Любая помощь (и конструктивная критика) оценена.
EDIT: умереть функция:
def die(e)
p errorArray unless errorArray.empty?
# Some other irrelevant code
end
Мы должны видеть то полный код 'die' method..to сказать вам почему ошибка 'Undefined local variable или method 'errArray''. Его проблема связана с областью. Создайте глобальную переменную '$ errArray = Array.new'. Как вы сказали *, я думал, что лучший способ сделать это - создать массив errArray = Array.new в верхней части скрипта для хранения ошибок *. –
Что такое 'e'? Дайте всему телу –