【发布时间】:2016-06-17 00:38:54
【问题描述】:
如果我没有在 options 哈希中传递任何选项,FileUtils 在失败时会如何表现?
我尝试在 ruby-doc.org 和 APIdock 上查看 FileUtils,但找不到任何东西。
【问题讨论】:
如果我没有在 options 哈希中传递任何选项,FileUtils 在失败时会如何表现?
我尝试在 ruby-doc.org 和 APIdock 上查看 FileUtils,但找不到任何东西。
【问题讨论】:
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
【讨论】: