加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby异常的文档

发布时间:2020-12-17 03:04:22 所属栏目:百科 来源:网络整理
导读:我是 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
我是 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的源代码的情况下,有什么方法可以告诉可能会引发哪些异常?

解决方法

无法保证Ruby中会引发哪个异常.用户可能发送中断,您的文件系统可能无法写入等.而Ruby不保证这一点.但对于File操作,我可能会看一下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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读