`
zhoujiabin810812
  • 浏览: 25390 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ruby异常处理流程

阅读更多
今天来看看ruby处理流程分析直接先上一段代码
class LinkError < StandardError 
  end
 
  class LinkTest
    @host = "192.168.0.1"
    @port = 8080
    def link
      ret_str = "失败"
      begin
        socket = TCPSocket.open(@host,@port)
        ret_str = "东方不败!"
      rescue => e
        puts "失败中的失败"
        raise LinkError
      end
      return ret_str
    end
  end
 
  #############################
  t = LinkTest.new
  begin
    str = t.link()
    puts str
  rescue LinkError
    puts "还是失败中的失败"
  end
  #############################

答案:
失败中的失败
还是失败中的失败

假设我们在代码中添加一段ensure语句
class LinkError < StandardError 
  end
 
  class LinkTest
    @host = "192.168.0.1"
    @port = 8080
    def link
      ret_str = "失败"
      begin
        socket = TCPSocket.open(@host,@port)
        ret_str = "东方不败!"
      rescue => e
        puts "失败中的失败"
      #############################、
        raise LinkError
     ensure
      return ret_str
    #############################
      end
      end
  end
 
  #############################
  t = LinkTest.new
  begin
    str = t.link()
    puts str
  rescue LinkError
    puts "还是失败中的失败"
  end
  #############################

答案:
失败中的失败
失败
0
0
分享到:
评论

相关推荐

    ruby 异常处理:rescue

    ruby&gt; file = open(“some_file”) ERR: (eval):1:in `open’: No such file or directory – some_file 一个健壮的程序会合理并漂亮的处理这些问题.面对那些异常是一件讨人厌的工作.C程序员被要求...

    【09-异常处理】

    •异常处理流程代码可以放在任何能放可执行性代码的地方,因此完整的异常处理流程既可放在try块 里,也可放在catch块里,也可放在finally块里。 •异常处理嵌套的深度没有很明确的限制,但通常没有必要使用超过...

    ruby教程.rar

    控制结构/异常处理 方法调用 类/方法的定义 标准库 内部函数 内部变量 内部常数 内部类/模块/异常类 附加库 Ruby变更记录 ruby 1.6 特性 ruby 1.7 特性 ruby 1.8 特性 1.6.8到1.8.0的变更点(总结) ...

    Ruby常见面试题.pdf

    请说明在Ruby中的异常处理机制。 8. Ruby中的数组(Array)和哈希(Hash)有什么区别?请说明在Ruby中数组和哈希的不同特点。 9. 什么是Ruby中的块(Block)和迭代器(Iterator)?请简要介绍在Ruby中块和迭代器的...

    rails_exception_handler:Ruby on Rails的异常处理

    Rails异常处理程序 从版本1升级? 这是Rails的灵活异常处理程序,适用于希望创建自己的错误跟踪服务的人员。 它面向经验丰富的Rails开发人员,这些开发人员不仅要管理几个Rails应用程序,而且还要管理多个应用程序。...

    免费的一本好书关于Ruby学习

    5. **异常处理**:Ruby 支持异常处理机制,开发者可以轻松地捕获和处理异常,保证程序的稳定性和可靠性。 6. **丰富的标准库**:Ruby 标准库提供了大量内置模块和库,涵盖了网络编程、文件操作、数据处理等各个领域...

    Ruby编程语言

     5.6异常和异常处理154  5.7BEGIN和END165  5.8线程、纤程和连续体166  第6章方法、PROC、LAMBDA和闭包175  6.1定义简单方法177  6.2方法名180  6.3方法和圆括号183  6.4方法参数185  6.5PROC和LAMBDA192 ...

    详解Ruby中的异常

    异常用于处理各种类型的错误,这些错误可能在程序执行期间发生,所以要采取适当的行动,而不至于让程序完全停止。 Ruby 提供了一个完美的处理异常的机制。我们可以在 begin/end 块中附上可能抛出异常的代码,并使用 ...

    非常好的Ruby中文版项目资源,分享出来.zip

    这是 Ruby User’s Guide的简体中文版本:Ruby用户指南。 本指南基于Mark Slagell的英文译本翻译而来,指南最初的版本由Ruby的发明者Yukihiro Matsumoto用日语编写完成。...异常处理:ensure 访问器 对象初始化

    ruby语法基础教程

    §9.1 异常处理 64 §9.2 定义异常类 68 §9.3 catch和throw 68 第十章 多任务处理 69 §10.1 多线程处理 69 §10.1.1 线程创建 69 §10.1.2 线程操作 70 §10.1.3 线程和异常 71 §10.1.4 线程调度 73 §10.1.5 ...

    Bugsnag错误监视和报告软件,适用于导轨,sinatra,机架和Ruby-Ruby开发

    Ruby的Bugsnag异常报告程序Ruby的Bugsnag异常报告程序可立即通知您从Rails,Sinatra,Rack或纯Ruby应用程序引发的异常。 任何未捕获的异常都会触发Ruby的Bugsnag错误监视和异常报告程序。Ruby的Bugsnag异常报告程序...

    bugsnag-ruby:Bugsnag错误监视和报告软件,用于轨道,sinatra,机架和Ruby

    Bugsnag错误监控和Ruby异常报告器 Ruby的Bugsnag异常报告器会立即通知您从 , Sinatra , Rack或纯Ruby应用程序引发的异常。 任何未捕获的异常都会触发通知,该通知将发送到您的Bugsnag项目。产品特点自动报告未处理...

    airbrake:Ruby应用程序的官方Airbrake库

    气刹介绍是一个在线工具,可以在您的任何Ruby应用程序中提供强大的异常跟踪。 这样,您可以轻松地检查错误,将错误与单个代码绑定在一起,并将原因追溯到最近的更改。 Airbrake仪表板提供了轻松的异常分类,搜索和...

    i18n:Ruby的基本国际化(i18n)库

    特征: 翻译和本地化将值插入到翻译中(与Ruby 1.9兼容的语法) 复数(兼容CLDR ) 可定制的音译为ASCII 灵活的默认值批量查询lambdas作为翻译数据自定义键/范围分隔符自定义异常处理程序具有可交换后端的可扩展...

    rutie:“ Ruby和Rust之间的纽带。”

    鲁蒂 Rutie — /ro͞oˈˌtī/rOOˈˌtI/rüˈˌtaI/ 将Ruby与Rust应用程序集成。 或将Rust与Ruby应用程序集成。...在Rust代码中处理从Ruby引发的异常 使用C语言编写的Ruby方法时,GC期间出现段错误 作

    graphql-errors:GraphQL Ruby的简单错误处理程序

    由祖先捕获异常,例如CustomError和rescue_from StandardError 。 每个架构配置。 没有依赖关系。用法定义GraphQL模式后: Schema = GraphQL :: Schema . define do query QueryTypeend 您可以使用G

    ougai:Ruby结构化日志记录能够轻松处理消息,自定义数据或异常,并生成JSON或人类可读的日志

    结构化日志系统能够轻松处理消息,结构化数据或异常。 它具有与Node.js的或兼容的JSON格式化程序,以及与兼容的控制台可读格式。 安装 将此行添加到您的应用程序的Gemfile中: gem 'ougai' 然后执行: $ bundle ...

    ruby-client:用于Ruby的Netlify API客户端

    使用ruby客户端的基本流程是: 验证(通过凭据或先前获得的访问令牌) 获取网站(通过ID) 部署 如果尚未部署站点,则上述步骤将引发not found异常,并且您将需要使用Netlify.sites.create创建站点并进行初始...

Global site tag (gtag.js) - Google Analytics