`
zhoujiabin810812
  • 浏览: 26073 次
  • 性别: 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-NestyRuby的嵌套异常

    Ruby-NestyRuby的嵌套异常是关于Ruby...了解并熟练使用Nesty库可以提升你的Ruby异常处理能力,使代码更加健壮和易于维护。在实际开发中,合理利用嵌套异常处理能够帮助我们更有效地定位和解决问题,提高程序的稳定性。

    掌握Ruby的异常处理:优雅应对错误的艺术

    Ruby 的异常处理机制能够帮助开发者有效地控制程序流程,确保在遇到错误时程序能够优雅地处理这些异常情况,而不是直接崩溃或者产生不可预料的行为。接下来,我们将深入探讨 Ruby 中的异常处理机制,并通过具体的...

    Ruby经典系列: exceptional ruby

    Ruby异常处理策略还包括在出现故障时如何恰当地结束程序,以及在某些情况下是否可以使用异常之外的其他机制来处理错误。例如,可以使用多返回值、输出参数和调用者提供的回退策略等方法来替代传统的异常处理方式。 ...

    ruby 异常处理:rescue

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

    Ruby-程序设计-cn.pdf

    Ruby提供了强大的异常处理机制,允许程序员捕捉和处理运行时错误,确保程序的健壮性和稳定性。通过定义自定义的异常类,可以更精确地控制错误处理流程。 ### 多任务处理 Ruby支持多线程和多进程编程,这使得并发...

    《Ruby Programming—向Ruby之父学程序设计(第2版)》电子书

    此外,书中还会涵盖Ruby的异常处理机制,这对于编写健壮的代码至关重要。异常处理允许程序员捕获并处理运行时错误,防止程序意外终止。同时,书中也会介绍Ruby的块(blocks)、Proc对象和Lambda,这些都是Ruby中处理...

    ruby小程序

    5. 异常处理:学会使用begin-rescue-end来捕获和处理运行时错误。 6. 标准库:熟悉标准库中的一些模块和类,如File、IO、Net等,以便进行文件操作、网络通信等任务。 7. Rails框架:虽然标签中没有提及,但Ruby最...

    Ruby-Rails的异常通知插件

    在Ruby on Rails开发中,错误处理是至关重要的一个环节,因为它可以帮助开发者及时发现并修复问题,从而保持应用程序的稳定运行。"Ruby-Rails的异常通知插件"正是为了解决这个问题而诞生的。Exception Notification...

    Ruby教程.chm和Ruby程序设计.doc

    Ruby教程.chm可能涵盖了Ruby的基础语法、变量、数据类型、控制结构(如条件语句和循环)、函数、类与对象、模块、继承、异常处理等重要内容。此外,它可能还会讲解Ruby中的块、 Proc 和 Lambda,以及Ruby的元编程...

    Ruby-ParallelRuby让并行处理简单和快速

    "Parallel Ruby"库正是为此目的而设计,它使得在Ruby中实现并行处理变得简单且高效。 Parallel Ruby库是一个强大的工具,允许开发者在Ruby程序中并行运行任务,从而显著提升性能。这个库的核心理念是将工作分解成可...

    Ruby-Money一个Ruby库来处理货币和货币转换

    9. **错误处理**:在处理货币转换或计算时,如果出现无效的操作或错误的汇率数据,Money库会抛出相应的异常,帮助开发者及时发现并处理问题。 在实际使用中,开发人员可以通过简单的Ruby代码导入Money库,创建货币...

    Ruby和Rails高效的Kafka处理框架_Ruby_下载.zip

    Ruby和Rails是两个非常流行的开源技术,用于构建高效、动态的Web应用程序。在这个主题中,我们将深入探讨如何在Ruby on Rails环境下使用Kafka处理框架,从而实现高效的数据传输和处理。 Kafka是一种分布式流处理...

    Ruby 编程语言的书籍

    5. **异常处理进阶**:进一步探讨异常处理的高级用法,如自定义异常类、异常传递链等,帮助开发者写出更加健壮的应用程序。 6. **Ruby on Rails框架**:简要介绍如何利用Ruby on Rails这一流行的Web开发框架快速...

    Ruby-Raven是Sentry的一个Ruby客户端

    在Ruby开发中,错误处理是非常关键的部分,因为一个未被捕获的异常可能导致程序崩溃,影响用户体验。Raven-Ruby通过集成到你的应用程序中,可以在发生错误时自动捕获异常信息,如堆栈跟踪、环境变量、请求数据等,并...

    Ruby-GemExceptionTrack捕捉Rails应用运行期的异常并存储到数据库

    3. **异常处理**:在编程中,异常是程序运行时出现的错误。Ruby提供了`begin-rescue-end`结构来捕获和处理异常。 4. **数据库存储**:ExceptionTrack将异常信息存储在数据库中,可能是为了方便持久化和批量分析,...

    Ruby-forkoffruby简单的并行处理

    `ForkOff`是Ruby中用于实现简单并行处理的工具,它基于操作系统级别的`fork`系统调用,允许程序创建子进程来同时执行任务,从而提高性能。 `ForkOff`库的主要优点在于其轻量级和易用性。与线程相比,子进程拥有独立...

    From Java to Ruby

    然而,Ruby鼓励使用异常来控制程序流程,而在Java中,过度使用异常会被视为不良实践。 在开发工具和生态系统方面,Java有成熟的IDE如Eclipse和IntelliJ IDEA,以及Maven和Gradle等构建工具。Ruby则有RubyMine作为...

    Ruby-ngxruby是嵌入ruby脚本的Nginx模块

    7. **错误处理**:在Ruby脚本中处理异常和错误是必不可少的,因为任何未捕获的异常都可能导致Nginx服务中断。使用`rescue`来捕获并处理错误。 8. **日志记录**:利用Ruby的`puts`或其他日志库记录运行时信息,有助...

    Ruby-Watir在Ruby中Web应用程序测试

    8. **异常处理**:在编写测试脚本时,要考虑到可能出现的错误情况,使用Ruby的异常处理机制(如`begin-rescue-end`)捕获并处理异常,确保测试的稳定性和可靠性。 9. **持续集成**:为了实现持续集成,你可以将...

    Ruby-Sneakers一个基于RubyRabbitMQ的快速后台处理框架

    6. **错误处理**:框架内置了错误处理机制,如重试、死信队列等,可以有效地处理异常情况。 7. **测试友好**:Sneakers提供了方便的测试工具,使得单元测试和集成测试变得简单。 在使用Sneakers时,开发者需要编写...

Global site tag (gtag.js) - Google Analytics