[#41916] Proposal: Bitmap Marking GC — Narihiro Nakamura <authornari@...>

Hi.

18 messages 2012/01/05

[#41941] [ruby-trunk - Bug #5851][Open] make check fails when compiling with GCC 4.7 - *** longjmp causes uninitialized stack frame *** — Vit Ondruch <v.ondruch@...>

12 messages 2012/01/06

[#41979] [ruby-trunk - Bug #5865][Open] Exception#== should return false if the classes differ — Hiro Asari <asari.ruby@...>

10 messages 2012/01/08

[#42003] [ruby-trunk - Bug #5871][Open] regexp \W matches some word characters when inside a case-insensitive character class — Gareth Adams <gareth@...>

14 messages 2012/01/09

[#42016] [ruby-trunk - Feature #5873][Open] Adopt FFI over DL — Heesob Park <phasis@...>

15 messages 2012/01/10

[#42149] [ruby-trunk - Feature #5899][Open] chaining comparsions. — Ondrej Bilka <neleai@...>

12 messages 2012/01/16

[#42164] [ruby-trunk - Feature #5903][Open] Optimize st_table (take 2) — Yura Sokolov <funny.falcon@...>

18 messages 2012/01/17

[ruby-core:42143] Re: [ruby-trunk - Feature #5898][Open] raise and Exception#initialize

From: Nobuyoshi Nakada <nobu@...>
Date: 2012-01-16 02:03:41 UTC
List: ruby-core #42143
Hi,

(12/01/16 10:03), Thomas Sawyer wrote:
>   class MyError < Exception
>     def initialize(a,b)
>       super("#{a} and #{b}")
>     end
>   end
> 
>   raise MyError, 'foo', 'bar'

Try:

  class MyError < RuntimeError
    def initialize(args)
      a, b = *args
      super("#{a} and #{b}")
    end
  end

  raise MyError, ['foo', 'bar']


> So I propose a second best approach. Notice that if `caller` is
> passed to `#raise` it is not being passed on to the `#initialize`
> method unlike the `message` argument. Instead `#set_backtrace` is
> being used to set the caller. I propose that the `message` argument
> be handled in the same way, and a new method `#set_message(msg)` be
> added to the `Exception` class to handle it.

How do you tell if the second argument is a part of messages, or a
caller?

-- 
Nobu Nakada

In This Thread