`
wangdeshui
  • 浏览: 255766 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一步一步学Ruby(十五):错误处理和异常

阅读更多

一、常见异常

异常名 常见原因 怎样抛出
RuntimeError raise抛出的默认异常 raise
NoMethodError 对象找不到对应的方法 a=Oject.new
a.jackmethod
NameError 解释器碰到一个不能解析为变量或方法名的标识符 a=jack
IOError 读关闭的流,写只读的流,或类似的操作 STDIN.puts("不能写入")
Errno::error 与文件IO相关的一类错误 File.open(-10)
TypeError 方法接受到它不能处理的参数 a=3+"abc"
ArgumentError 传递参数的数目出错 def o(x) end  o(1,2,3)

 

二、捕获异常

用rescue捕获异常

image

3.抛出异常

raise抛出异常

image

三、异常保存到变量

image

四、创建异常类

image

本文作者: 王德水

未经同意,禁止转载

分享到:
评论

相关推荐

    ruby-jogging:ruby 的每日提交

    8. **异常处理**:Ruby使用begin..rescue..end结构处理异常,了解如何优雅地捕获和处理错误是任何开发者的基本技能。 9. **测试驱动开发(TDD)**:Ruby社区广泛采用TDD,你可能需要学习如何编写RSpec或Minitest等...

    ruby-tictactoe:Ruby中的Tic-Tac-Toe控制台

    6. **错误处理(Error Handling)**:为了增加用户体验,我们需要处理可能的错误情况,如无效的用户输入或非法移动。Ruby的异常处理机制(try-catch block)可以帮助我们优雅地处理这些情况。 在压缩包文件`ruby-...

    适合Ruby 1.9.1的Ruby-FCGI源码包

    此外,你还需要熟悉Ruby的C扩展开发,包括如何调用Ruby API来创建方法,以及如何管理内存和异常。 在实际应用中,Ruby-FCGI通常配合Web服务器的FastCGI模块一起使用,如mod_fastcgi for Apache或ngx_...

    chessagain:通过国际象棋演练刷我的Ruby

    7. **错误处理**:在处理用户输入或执行游戏规则时,可能会遇到各种错误,如非法移动。因此,你需要用Ruby的异常处理机制来捕获并处理这些错误。 8. **测试驱动开发(TDD)**:为了确保代码的正确性,可以采用Ruby...

    使用期总结

    5. **错误处理**: 增强脚本的鲁棒性,通过异常处理机制处理运行时可能出现的各种问题。 #### 四、案例分析: 使用Ruby与Watir进行自动化测试 假设我们需要为一个简单的登录表单编写自动化测试脚本。以下是具体的实现...

    Ruby下WebDriver的相关操作指南

    ### Ruby 下 WebDriver 的相关操作指南 #### 一、概述 WebDriver 是一种用于自动化 Web 测试的工具,它能够模拟用户与网页之间的互动行为。在 Ruby 语言环境下使用 WebDriver,可以帮助开发者进行界面自动化测试,...

    tic-tac-toe:尝试 Ruby

    8. **错误处理**:添加适当的异常处理,确保即使在错误输入或非法状态下游戏也能正常运行。 9. **用户界面**:尽管是在终端中,但依然需要友好的用户界面,例如通过清晰的输出和提示来指导玩家。 10. **测试**:...

    selenium-selenium-4.5.0.tar.gz源码

    8. **异常处理**:Selenium处理各种可能出现的错误和异常,源码中可以找到错误处理的代码,这对于调试和构建健壮的测试脚本至关重要。 9. **Page Object模式**:这是一种设计模式,用于将页面结构和操作封装为独立...

    crystal-result:crystal的类锈错误处理(`Ok``Err`)

    在编程领域,错误处理是确保程序健壮性与可靠性的重要环节。Crystal是一种静态类型的系统级编程语言,它从Ruby和Rust等语言中汲取了许多灵感。在这个特定的上下文中,"crystal-result"指的是Crystal语言中对错误处理...

    ELK-guide-cn.pdf

    - 通过Logstash处理不同类型的日志数据,例如nginx访问日志、nginx错误日志、postfix日志、ossec日志、windows系统日志、Java日志和MySQL慢查询日志。 性能与测试: - 介绍Logstash的性能测试方法和结果。 - 提供...

    ruby-connect4-tdd

    8. **异常处理**:捕获和处理可能出现的错误,如非法输入或内部逻辑错误,提供有用的错误信息给用户。 9. **持续集成/持续部署(CI/CD)**:项目可能使用如Jenkins、Travis CI或GitHub Actions等工具,实现自动化测试...

    letterboxd:使Criticker和Netflix的2500部电影进入Letterboxd的一些方法

    5. **异常处理**:考虑到网络问题和API限制,脚本应包含适当的错误处理和重试机制,以确保即使在遇到问题时也能继续执行。 6. **日志记录**:为了便于调试和监控,脚本还应该记录每一步的操作和遇到的问题,这样...

    Java进阶路线

    正确处理异常对于程序的健壮性和可用性至关重要。Java中的异常处理机制包括 try-catch-finally 块以及自定义异常的创建。 **11. IO** Java中的输入/输出操作通过流实现。理解 File、FileInputStream、...

    week4_day2

    Ruby提供了`begin..rescue..end`结构来捕获和处理异常。理解何时和如何使用异常处理,能帮助编写健壮的代码,避免程序因未预期的错误而崩溃。 5. **闭包(Closure)**:Ruby中的 Proc 和 Lambda 实现了闭包,即函数...

    W10D4

    在“W10D4”中,我们可能会学习到异常处理,Ruby使用`begin..rescue..end`结构来捕获和处理错误。此外,我们还将接触Ruby的Gem生态系统,这是一个庞大的开源库集合,包含了各种工具和框架,如Rails用于Web开发,...

    LSExersises

    7. **异常处理(Exception Handling)**:Ruby使用begin/rescue/ensure来捕获和处理程序运行时的错误。 8. **闭包(Closure)与块(Block)**:Ruby的块是代码的匿名函数,可以与方法一起使用,形成闭包。理解块和...

    selenium 深入浅出 软件测试 集成测试

    2. **错误处理**:JavaScript代码可能抛出异常,Selenium需要能够捕获并处理这些错误。 3. **元素状态**:在执行JavaScript之前,确保目标元素处于正确的状态,避免由于元素未加载或不可见导致的失败。 #### ...

    Ben Nagy:Windows内核模糊测试入门

    本次议题的主讲人Ben Nagy,虽然自认为“不是oldsk00l(老派),只是old(老)”,但他拥有五年的模糊测试经验和对Windows内核的研究。他分享了关于如何最大化模糊测试性能并应用于Windows内核缺陷挖掘的知识。 ...

    最新的Selenium Client Drivers

    8. **异常处理**: 在编写测试脚本时,应考虑可能遇到的错误和异常,如元素未找到、网络错误等。Selenium的Client Drivers提供了丰富的异常类,方便进行错误捕获和处理。 9. **测试框架集成**: Selenium Client ...

    java开源包1

    以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 ...

Global site tag (gtag.js) - Google Analytics