2016-06-17 1 views

ответ

0

Как работает FileUtils, когда он терпит неудачу?

Ну, давайте посмотрим:

require 'FileUtils' 

puts Dir.pwd 
#Existing dir: 
FileUtils.cd("../python_programs") 
puts Dir.pwd 
FileUtils.cd("/does/not/exist") 

--output:-- 
/Users/7stud/ruby_programs 
/Users/7stud/python_programs 
....`chdir': No such file or directory @ dir_chdir - /does/not/exist (Errno::ENOENT) 

Итак ... Вы можете сделать это:

require 'FileUtils' 

begin 
    FileUtils.cd("/does/not/exist") 
rescue Errno::ENOENT 
    puts "Couldn't switch directories" 
end 

--output:-- 
Couldn't switch directories 

Или даже так:

require 'FileUtils' 

paths = %w[ 
    ../python_programs 
    /does/not/exist 
    ../rails_projects 
] 

paths.each do |path| 
    begin 
    FileUtils.cd(path) 
    puts "Just switched directories to: #{Dir.pwd}" 
    rescue Errno::ENOENT 
    puts "Couldn't switch to directory: #{path}" 
    end 
end 

--output:-- 
Just switched directories to: /Users/7stud/python_programs 
Couldn't switch to directory: /does/not/exist 
Just switched directories to: /Users/7stud/rails_projects 
Смежные вопросы