我是 Ruby 新手,来自 Java 世界。
我只想在 Ruby 中复制一个文件:http://apidock.com/ruby/FileUtils/cp http://apidock.com/ruby/FileUtils/cp
但是,文档没有说明会引发哪些异常。
与 Javadoc 比较:
http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#copy(java.nio.file.Path, java.nio.file.Path, java.nio.文件.CopyOption...) http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#copy%28java.nio.file.Path,%20java.nio.file.Path,%20java.nio.file.CopyOption...%29
在不查看 FileUtils 源代码的情况下,是否有任何方法可以判断可能会引发哪些异常?
无法保证 Ruby 中会引发哪种异常。用户可能会发送中断,您的文件系统可能无法写入,等等。Ruby 对此不做任何保证。但对于文件操作,我可能会从 IOError 及其子项 EOFError 开始。
这可以提供处理非异常(合理预期)事件的能力,例如文件不存在,或者没有读取访问权限或没有写入访问权限,您可以对这些事件进行编程,并进行救援和尝试处理。
您还可以编写自己的异常,引发自定义异常(可能继承 StandardError)并提供适当的操作或反馈。
这是我的计算机刚刚使用 Ruby 1.9.3-p327 生成的当前异常层次结构
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)