2012-08-15 78 views
1

在Ruby中,我可以在pathcontents文件,作为简单的:在Ruby IO中处理SystemCallErrors的正确方法是什么?

IO.write path, contents, :mode => 'w+' 

但是,文件没有规定可提出什么样的异常。在C中,如果程序遇到EAGAINEINTR,它通常会尝试再次写入文件。我们是否应该在Ruby中做同样的事情(通过捕获Errno::EINTRErrno::EAGAIN)?我会期待在Ruby这样的语言中有更高层次的抽象。这里使用的正确模式是什么?

(在相同的音符,我们要不要担心在Ruby中?约短计数)

回答

2

一些更多的挖掘后,我发现(如预期)是Ruby的自动处理短计数和EAGAIN。适当的代码是in io.c

相关问题