def evalMethod(str)
result =eval(str).to_s
#捕捉异常相当于catch
rescue ZeroDivisionError
result= '不能被0除'
#更一般的异常
rescue Exception=>err
result= err.to_s
#相当于finally
ensure
return result
end
puts evalMethod("1*2*3") #6
puts evalMethod("1*2*3/0") #不能被0除
puts evalMethod("[1]*10.each{}") #undefined method `each' for 100:Fixnum
#抛出异常
def RaiseException(excep)
if excep
raise
else
raise 'false'
end
rescue Exception=>err
return err
end
puts RaiseException(true) #''
puts RaiseException(false) #'false'
#自定义异常
class DefinedException < Exception
attr_reader :attribute
def initialize(str)
@attribute=str
end
end
#抛出自定义异常
def RaiseException2
raise DefinedException.new('DefinedException.attribute')
rescue DefinedException=>de
return de
end
puts RaiseException2().attribute #DefinedException.attribute
#一个catch块将会正常执行,直到遇到一个throw
result=0
catch :QuitThrow do
(1..4).each{|x|
lambda{|digit|
result+=digit
#遇见throw,释放堆上的指针并终止块的运行,返回到标签处
throw :QuitThrow if digit>=3
}.call(x)}
end
puts result #6
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/blackant2/archive/2006/12/04/1428803.aspx
分享到:
相关推荐
标题中的"ruby笔记1ruby笔记1ruby笔记1"暗示了这是一份关于Ruby编程语言的学习笔记,可能包含了作者在学习过程中的重点、难点以及心得体验。描述中的内容重复了标题,进一步强调了这是关于Ruby的深入学习记录。标签...
Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理
这可能涵盖Ruby的基础知识,如变量、控制结构、类和对象、模块、方法、异常处理、文件I/O以及Ruby on Rails框架的入门等内容。Ruby语言支持面向对象编程,其核心理念是“一切皆对象”,这使得编程更加灵活且易于理解...
Ruby支持多种控制结构,包括条件语句(if-else)、循环语句(for、while、until、each等)和异常处理(try-catch-finally)。 示例代码: ```ruby # 条件语句 num = 10 if num > 10 puts "Number is greater than...
在学习过程中,你将接触到控制结构(如if语句、循环)、类和对象的创建、模块的使用、异常处理、文件和IO操作等基础内容,也会了解到如何使用Gem(Ruby的包管理器)安装和管理外部库,以及如何调试和测试Ruby代码。...
根据提供的“ruby学习笔记”内容,我们可以从中提炼出多个重要的Ruby编程知识点,这些知识点对于初学者来说非常有用。下面将对这些知识点进行详细的解释与扩展。 ### 一、Ruby中的全局变量 Ruby提供了多个特殊变量...
"ruby笔记2ruby笔记2ruby笔记2"可能是指一系列关于Ruby学习的笔记,这些笔记可能涵盖了Ruby的基础概念、核心特性以及进阶话题。在Ruby的学习过程中,理解和掌握以下几个关键知识点至关重要: 1. **面向对象编程...
在Ruby笔记3中,我们将会深入探讨这个强大的语言的各个方面,包括基础语法、类与对象、模块、方法、控制结构、异常处理、文件操作以及一些高级特性。 首先,让我们从基础语法开始。Ruby中的变量分为四种类型:局部...
6. **Java Database Connectivity (JDBC)**:JDBC 4.0引入了一些新特性,如自动连接池管理、统一的异常处理和增强的驱动程序元数据。 7. **Web服务支持**:Java API for RESTful Web Services (JAX-RS) 1.0的引入,...
4. **控制结构(Control Structures)**:包括条件语句(如`if...else`、`unless`)、循环(如`for`、`while`、`until`、`times`和`each`)、和异常处理(`begin...rescue...end`)等,这些是编写逻辑代码的基础。...
Ruby的异常处理使用begin-rescue-end结构,这使得错误处理更为直观。Ruby还提供了丰富的内建库,如文件操作、网络通信、正则表达式等,使得开发者能快速构建各种应用。 Ruby on Rails是Ruby最知名的Web开发框架,它...
《Python 学习笔记 第三版1》是一本面向有一定Python编程基础的读者的书籍,旨在深入解析Python 3.6的语言特性。作者虽然已经具备一定的写作经验,但仍然谦虚地表示无法确保内容完全正确,同时满足所有人的需求。他...
总的来说,通过这个“Ruby 语言教程从小白到入门”的学习,你将能够掌握Ruby的基础知识,包括语法、面向对象编程、异常处理、标准库的使用等。随着对Ruby理解的深入,你将能够编写出更高效、更优雅的代码,进一步...
2. **JDBC API改进**:JDBC 4.0在JDK 6中引入,提供了自动类型转换和更好的异常处理,简化了数据库连接和数据操作。 3. **XML处理**:JDK 6加强了DOM、SAX和StAX解析器的性能,提供了更高效的数据交换方式。 4. **...
"programming_language:编程语言学习笔记"这一主题旨在整理和探讨各种编程语言的关键特性、语法结构以及在实际开发中的应用。 首先,编程语言可以分为几大类别,如低级语言(机器语言和汇编语言)和高级语言(如C,...
在Ruby编程语言中,笔记可能涵盖了许多主题,包括基本语法、数据类型、控制结构、类与对象、模块、方法、异常处理、文件操作以及与其他语言的交互等。下面将对这些核心概念进行深入探讨。 首先,Ruby是一种面向对象...
学习者在Launch School中可能涵盖了Ruby的基础语法、类与对象、控制结构、文件操作、异常处理、模块化编程等多个方面的内容。 【压缩包子文件的文件名称列表】:"launch-school-main" 这个文件名可能是仓库的主目录...
5. **异常处理**:学习如何使用`begin-rescue-ensure-end`来捕获和处理运行时错误。 6. **标准库和Gem**:Ruby的标准库非常丰富,包括I/O操作、网络编程、正则表达式等。另外,Ruby的Gem系统是其强大的生态之一,...
这个目录可能包含了一系列关于Ruby学习的笔记、代码示例、练习项目或其他资源。 详细知识点: 1. **面向对象编程**:Ruby是一种纯面向对象的语言,所有数据都是对象,每一个操作都可以看作是对对象的方法调用。 2...
6. **异常处理和错误调试**:讲解如何在Ruby中捕获和处理异常,以及有效的调试技巧。 7. **性能优化**:如何通过优化代码和利用Ruby特性来提升程序性能。 8. **项目实战**:可能包括完成小型项目的指导,帮助学习者...