【问题标题】:What happens on failure with a FileUtils method?FileUtils 方法失败时会发生什么?
【发布时间】:2016-06-17 00:38:54
【问题描述】:

如果我没有在 options 哈希中传递任何选项,FileUtils 在失败时会如何表现?

我尝试在 ruby-doc.orgAPIdock 上查看 FileUtils,但找不到任何东西。

【问题讨论】:

    标签: ruby fileutils


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多