ruby - 当无法在 Ruby 中打开文件时,打开文件并执行 "rescue"的最清晰方法是什么

标签 ruby rescue

我现在用下面的代码来处理这个问题

begin
  File.open(filename, 'r')
rescue
  print "failed to open #{filename}\n"
  exit
end

有没有办法像 Perl 那样更容易地做到这一点 'open (IN, $filename) ||死了“无法打开 $filename\n”' 谢谢。

最佳答案

File.open("doesnotexist.txt", 'r')

够了。如果文件不存在,这将引发异常。这个没有被捕获,所以程序退出。

# =>test6.rb:1:in `initialize': No such file or directory @ rb_sysopen - doesnotexist.txt (Errno::ENOENT)

关于ruby - 当无法在 Ruby 中打开文件时,打开文件并执行 "rescue"的最清晰方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22898310/

相关文章:

ruby-on-rails - 占位符文本作为模型标签

ruby - 导轨 : Generating Acts_as_Taggable_On tag counts from collection of tagged objects

ruby - Ruby 1.9 中的线程阻塞主线程

ruby-on-rails - 通知所有错误并保留不同的救援

ruby-on-rails - 如何从 Rails 4 中的 ActionDispatch::ParamsParser::ParseError 中解救出来

ruby-on-rails - ActiveSupport::Duration hours/minutes/seconds 总是秒?

Ruby - 在另一个长度未知的数组中均匀分布和交错/交织一个数组的元素

ruby-on-rails - Ruby 救援和最佳实践语法

ruby-on-rails - 当我运行功能测试时,如何在 Ruby on Rails 应用程序中禁用救援处理程序?

ruby - SSLv3 读取服务器证书 B:证书验证失败(Twitter::Error)