Rubyexception的文档

我是Ruby的新手,来自Java世界。

我只想在Ruby中复制一个文件: http : //apidock.com/ruby/FileUtils/cp

但是,文档并未说明将引发哪些例外情况。 与Javadocs比较:

http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#copy(java.nio.file.Path,java.nio.file.Path,java.nio。 file.CopyOption …)

在没有查看FileUtils的源代码的情况下,有什么方法可以告诉可能会引发哪些exception?

无法保证Ruby中会引发哪个exception。 用户可能发送中断,您的文件系统可能无法写入等。而Ruby不保证这一点。 但是对于File操作,我可能会看一下IOError及其子EOFError。

这可以提供处理非例外(合理预期)事件的能力,例如文件不存在,或者没有读访问权限或没有写访问权限,这些事项可以编程,救援和尝试处理。

您还可以编写自己的exception,引发自定义exception(可能inheritanceStandardError)并提供相应的操作或反馈。

这是我现在使用Ruby 1.9.3-p327从我的计算机生成的当前exception层次结构

BasicObject Exception NoMemoryError ScriptError LoadError Gem::LoadError NotImplementedError SyntaxError SecurityError SignalException Interrupt StandardError ArgumentError EncodingError Encoding::CompatibilityError Encoding::ConverterNotFoundError Encoding::InvalidByteSequenceError Encoding::UndefinedConversionError FiberError IOError EOFError IndexError KeyError StopIteration LocalJumpError Math::DomainError NameError NoMethodError RangeError FloatDomainError RegexpError RuntimeError Gem::Exception Gem::CommandLineError Gem::DependencyError Gem::DependencyRemovalException Gem::DocumentError Gem::EndOfYAMLException Gem::FilePermissionError Gem::FormatException Gem::GemNotFoundException Gem::GemNotInHomeException Gem::InstallError Gem::InvalidSpecificationException Gem::OperationNotSupportedError Gem::RemoteError Gem::RemoteInstallationCancelled Gem::RemoteInstallationSkipped Gem::RemoteSourceException Gem::VerificationError SystemCallError ThreadError TypeError ZeroDivisionError SystemExit Gem::SystemExitException SystemStackError fatal