`

Ruby 1.9概要(5) 异常

阅读更多

1、异常的相等性 ,如果两个异常的class、message和backtrace一样,那么认为这两个异常是相等的,可以通过==判断。

<!---->def  method
    
raise   ' foobar '
end

errors 
=  []
2 .times do
    Thread.new do
      begin
        method
      rescue 
=>  e
        errors 
<<  e
      end
    end.join
end
puts errors[
- 2 ==  errors[ - 1 ]     # => true (1.9)   false(1.8)


2、SystemStackError现在继承Exception类,而非原来的StandardError :
1.8 

<!---->SystemStackError  <  StandardError   #  => true

1.9

<!---->SystemStackError  <  StandardError  #  => nil
   SystemStackError  <  Exception       # => true


3、移除了Exception#to_str方法

<!---->begin
   
raise   " foo "
rescue
   $!.to_str
end

# => undefind method "to_str" for #<RuntimeError:foo>


分享到:
评论

相关推荐

    Programming Ruby 1.9 (3rd edition)和源码

    《Programming Ruby 1.9 (3rd edition)》是一本专为程序员编写的关于Ruby语言的权威指南,这本书的第三版详细介绍了Ruby 1.9版本的语言特性、库以及编程实践。Ruby是一种动态、面向对象的脚本语言,以其简洁、优雅的...

    windows下安装Ruby 1.9 二进制zip包

    在Windows环境下安装Ruby 1.9,通常会涉及到编译环境的配置,因为Ruby的源码需要通过编译才能在Windows系统上运行。不过,如果你选择的是预编译的二进制zip包,这个过程就会简化很多。下面,我们将详细讨论如何通过...

    Programming Ruby 1.9

    5. **数组和哈希初始化**:在Ruby 1.9中,数组和哈希的初始化有了新的语法,如`[1, 2, 3]`和`{a: 1, b: 2}`。哈希的键值对可以用紧凑的语法表示,不再需要`:key =&gt; value`的形式。 6. **模块混合**:Ruby 1.9改进了...

    透视Ruby 1.9的Lambda函数

    《Ruby 1.9中的Lambda函数详解》 Ruby语言的一大魅力在于其Block功能,它使得编写简洁、可复用的算法变得轻而易举,甚至让人们对循环的畏惧感大大降低。Block在其他编程语言中被称为Lambda函数或匿名函数,有时也被...

    为何Ruby 1.9的不兼容性会导致原有Ruby代码无法工作

    Ruby 1.9 的发布对Ruby社区带来了显著的变化,尤其是其与之前的1.8版本之间的不兼容性。这种不兼容性源于对Ruby语言及其核心库的深入修改,目的是提升语言性能和规范。Ruby 1.9.0的推出并非完全稳定,Matz,即Ruby的...

    Programming Ruby 1.9 The Pragmatic Programmers' Guide

    5. **异常处理**:Ruby的异常处理机制通过begin、rescue、else和ensure关键字实现。读者将学习如何捕获和处理运行时错误。 6. **元编程**:Ruby的元编程能力是其一大特色,允许在运行时修改和创建代码。书中会介绍...

    Programming Ruby 1.9 3rd edition

    ### Programming Ruby 1.9 3rd Edition:深入探索Ruby编程语言 #### 一、书籍概览 《Programming Ruby 1.9》是第三版,专注于介绍Ruby 1.9.2版本,由Dave Thomas、Chad Fowler和Andy Hunt共同编写。这本书由The ...

    Programming Ruby 1.9 & 2.0 The Pragmatic Programmers’ Guide 4th Edition

    Ruby是一种快速发展的激动人心的动态语言,本书是Ruby 1.9和Ruby 2.0这两个最新版本的完整参考指南。Ruby是一种完全面向对象的语言,类似于经典的面向对象语言Smalltalk。与Smalltalk一样,它是动态类型的,但与...

    ruby 1.9 教程

    ### Ruby 1.9 教程相关知识点 #### 标题与描述中的核心知识点 - **Ruby 1.9 版本**: 截至2009年,Ruby已发展到1.9版本,这是该语言的一个重要里程碑。Ruby 1.9在性能、语法改进以及新特性方面进行了大量的更新和优化...

    (ruby 1.9 开发)Rango

    ### Rango:Ruby 1.9 上的轻量级网络开发框架 Rango 是一个基于 Ruby 1.9 的轻量级 Web 开发框架,它为开发者提供了灵活且强大的工具来构建网站。与 Sinatra 相比,Rango 更加健壮;而与 Rails 或 Merb 相比,它的...

    [Ruby] Ruby 1.9 & 2.0 编程 (英文版)

    [Pragmatic Bookshelf] Ruby 1.9 & 2.0 编程 (英文版) [Pragmatic Bookshelf] Programming Ruby 1.9 & 2.0 The Pragmatic Programmers' Guide 4th Edition (E-Book) ☆ 出版信息:☆ [作者信息] Dave Thomas , ...

    Programming Ruby 1.9 (Pragmatic Bookshelf 2009).pdf

    《Programming Ruby 1.9》一书由Dave Thomas、Chad Fowler与Andy Hunt共同编写,是Pragmatic Bookshelf出版的一部权威性指南,旨在帮助读者深入理解和掌握Ruby编程语言的1.9版本。该书不仅是对原版《Programming ...

    Pragmatic.Programming.Ruby.1.9.Apr.2009.pdf

    《实用的Ruby编程:针对Ruby 1.9的程序员指南》是Dave Thomas、Chad Fowler与Andy Hunt共同编写的著作,由The Pragmatic Bookshelf出版。本书详细介绍了Ruby 1.9版本的特性和编程实践,对于学习和掌握Ruby语言具有...

    Pragmatic.Programming.Ruby.1.9

    ### Pragmatic Programming Ruby 1.9:关键知识点解析 #### 标题解析:“Pragmatic.Programming.Ruby.1.9” 此标题表明本书主要介绍的是Ruby 1.9编程语言及其在实用主义编程(Pragmatic Programming)中的应用。...

    Ruby编程语言_涵盖Ruby 1.8和1.9

    5. 类和模块:Ruby的类和模块系统允许代码重用和组织,模块可以用来实现多重继承的效果。 6. 自动内存管理:Ruby采用垃圾回收机制自动管理内存,减轻了程序员的负担。 7. 标准库:Ruby附带了一个丰富的标准库,包括...

    Programming-Ruby-1.9.pdf

    作为《The Pragmatic Programmer》一书作者的又一力作,《Programming Ruby 1.9》不仅深入介绍了Ruby 1.9的核心概念和技术细节,还涵盖了大量实用的编程技巧和最佳实践。 #### 二、Ruby编程语言概述 **Ruby**是一种...

Global site tag (gtag.js) - Google Analytics