最近刚接触Ruby在使用过程中遇到了一个问题,请大家帮忙解决一下。
这是我定义的module
module ErrorHandler def doextract(file,path) begin yield rescue FileUtils.rmtree(path) puts "error occurred when extract #{file} to #{path}" end end end
这是测试代码
require_relative 'errorhandler' include ErrorHandler def test raise IOError,"TEST" end doextract('test.txt','fortest') { test }
现在遇到的问题是 当ErrorHandler的rescue中只有puts或rmtres任意一条语句时,程序可以正常运行。但是当rescue中的语句多余一条或利用resuce => e的方式试图捕获异常时程序会出错:SyntaxError
求大神解答。