代码之家  ›  专栏  ›  技术社区  ›  René Nyffenegger

如何从“require”:Ruby中不加载此类文件?

  •  40
  • René Nyffenegger  · 技术社区  · 15 年前

    我正试图从“require”中解救出来:没有这样的文件可以按顺序加载到ruby中 提示用户指定-i标志,以防忘记这样做。 基本上,代码如下:

    begin
      require 'someFile.rb'
    rescue
      puts "someFile.rb was not found, have you"
      puts "forgotten to specify the -I flag?"
      exit
    end
    

    我已经预料到 rescue 在案件中接管执行的部分 someFile.rb 没有找到,但我的假设是错误的。

    2 回复  |  直到 13 年前
        1
  •  55
  •   severin    15 年前

    营救 没有争论就只能救人。 标准规格 美国 负载误差 (由未找到的文件引发)不是 标准规格 但一 脚本错误 (参见 http://blog.nicksieger.com/articles/2006/09/06/rubys-exception-hierarchy )因此你必须拯救 负载误差 正如MBO所指出的,明确地说。

        2
  •  49
  •   MBO    15 年前

    必须明确定义要从中挽救的错误。

    begin
      require 'someFile.rb'
    rescue LoadError
      puts "someFile.rb was not found, have you"
      puts "forgotten to specify the -I flag?"
      exit
    end
    
    推荐文章