关于 Ruby 的一个问题?

  • 回答 (2)
  • 关注 (0)
  • 查看 (55)

最近开始用Ruby进行编程,并且正在寻找异常处理。

想知道是否在C#中ensure的Ruby等价物finally?比如:

file = File.open(""myFile.txt"", ""w"")
begin
  file << ""#{content} \n""
rescue
  #handle the error here
ensure
  file.close unless file.nil?
end
或者应该这样做?
#store the file
file = File.open(""myFile.txt"", ""w"")
begin
  file << ""#{content} \n""
  file.close
rescue
  #handle the error here
ensure
  file.close unless file.nil?
end
HERO坑货HERO坑货提问于
Ne_biubiubiu这就是世界结束的方式回答于

如果你想确保一个文件被关闭,你应该使用以下块的形式File.open:

File.open("myFile.txt", "w") do |file|
  begin
    file << "#{content} \n"
  rescue
  #handle the error here
  end
end

回答过的其他问题

云数据库MYSQL 如何设置 AUTOCOMMIT=0?

Ne_biubiubiu这就是世界结束的方式

OCR 身份证识别 要授权吗 很急,很急,很急?

Ne_biubiubiu这就是世界结束的方式
应该是签名问题把: 签名分为多次有效签名和单次有效签名: 多次有效签名:签名中绑定或者不绑定文件 fileid,需要设置大于当前时间的有效期,有效期内此签名可多次使用,有效期最长可设置三个月。 单次有效签名:签名中绑定文件 fileid,有效期必须设置为0,此签名只可使用一次...... 展开详请

拉取直播推流地址失败,Error:-1?

Ne_biubiubiu这就是世界结束的方式
-1,是一般性错误,按照下面步骤调出来log定位下问题把: 业务服务器代码里的log:如果请求能返回,但是回包的json里的returnValue非0,表示该请求失败,请查看php代码所在目录/log目录下的文件,如果log目录不存在,请创建log目录(老版本的代码没有默认创建...... 展开详请

我使用了印刷体识别功能,怎么查询当期需要支付多少钱?

Ne_biubiubiu这就是世界结束的方式
查询调用次数在控制台https://console.cloud.tencent.com/ai/ocr/idcard 具体价格是这样的: [图片] ... 展开详请

创建子网是什么?我无法购买VPS?

Ne_biubiubiu这就是世界结束的方式
据下图提示或者教程动手创建一个 腾讯云 VPC 和子网,并将一个可以连接到 Internet 的云服务器部署到你的子网中,最后通过安全组对进出该云服务器的流量进行筛选,保证主机通信的安全。在该部署中的云服务器能够与 Internet 通信,并且能够从本地计算机访问您的云服务器。...... 展开详请

小程序套餐里面的云数据库有没有oracle?

Ne_biubiubiu这就是世界结束的方式
好像确实如此,只提供mysql数据库选择,不过肯定其他数据库也会相继开放的。 [图片] ... 展开详请

关于作者

所属标签

扫码关注云+社区

领取腾讯云代金券