【发布时间】:2013-10-22 23:31:46
【问题描述】:
我有一个 Ruby 类,在类的初始化中,用户提供文件路径和文件名,然后类打开文件。
def 文件 def 初始化文件名 @file = File.open(filename, "r").read.downcase.gsub(/[^a-z\s]/,"").split 结尾 定义获取文件 返回@文件 结尾 结尾但是,问题是用户可以提供一个不存在的文件,如果是这种情况,我需要救援,这样我们就不会向用户显示丑陋的响应。
我的想法是这样的
def 文件 def 初始化文件名 @file = File.open(filename, "r").read.downcase.gsub(/[^a-z\s]/,"").split ||零 结尾 结尾然后在调用新文件的脚本中我可以做
定义开始 puts "输入文件的来源" 文件名 = 获取 文件 = Files.new 文件名 如果 file.get_file.nil? 开始 别的 #go 对文件做一些事情 结尾 结尾 开始我认为这是最好的方法的原因是,如果传入的文件很大,我猜最好不要将一大串文本作为变量传递到类中.但这可能不对。
无论如何,我真的想找出处理输入无效文件的最佳方法。
【问题讨论】:
-
您的代码不会将您从“找不到文件”异常中拯救出来。你试过了吗?