[#56982] [ruby-trunk - Bug #8854][Open] Update URL for bug reports — "stomar (Marcus Stollsteimer)" <redmine@...>
7 messages
2013/09/03
[#57038] [ruby-trunk - Feature #3620] Add Queue, SIzedQueue and ConditionVariable implementations in C in addition to ruby ones — "Glass_saga (Masaki Matsushita)" <glass.saga@...>
4 messages
2013/09/05
[#57040] Re: [ruby-trunk - Feature #3620] Add Queue, SIzedQueue and ConditionVariable implementations in C in addition to ruby ones
— SASADA Koichi <ko1@...>
2013/09/05
(2013/09/05 20:52), Glass_saga (Masaki Matsushita) wrote:
[#57058] [ruby-trunk - Bug #8875][Open] Select is not usable with SSLSocket — "headius (Charles Nutter)" <headius@...>
11 messages
2013/09/07
[#57092] [ruby-trunk - Bug #8883][Open] Rational canonicalization unexpectedly converts to Fixnum — "melquiades (Paul Cantrell)" <cantrell@...>
16 messages
2013/09/09
[#57111] [ruby-trunk - Feature #8887][Open] min(n), max(n), min_by(n), max_by(n) — "akr (Akira Tanaka)" <akr@...>
13 messages
2013/09/10
[#57117] [ruby-trunk - Feature #8890][Open] [PATCH] Eliminate less-than-zero checks for unsigned variables — "tonyo (Anton Ovchinnikov)" <revolver112@...>
5 messages
2013/09/10
[#57134] [CommonRuby - Feature #8896][Open] #tap with missing block — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>
5 messages
2013/09/11
[#57138] [ruby-trunk - Feature #8897][Open] client side TCP fast open — "Glass_saga (Masaki Matsushita)" <glass.saga@...>
5 messages
2013/09/11
[#57195] [ruby-trunk - Feature #8897][Assigned] client side TCP fast open
— "Glass_saga (Masaki Matsushita)" <glass.saga@...>
2013/09/14
[#57186] [ruby-trunk - Feature #8909][Open] Expand "f" frozen suffix to literal arrays and hashes — "headius (Charles Nutter)" <headius@...>
37 messages
2013/09/14
[#57224] [ruby-trunk - Feature #8909] Expand "f" frozen suffix to literal arrays and hashes
— "headius (Charles Nutter)" <headius@...>
2013/09/15
[#57262] [ruby-trunk - Feature #8921][Open] Allow select, reject, etc to accept a regex — "kyledecot (Kyle Decot)" <kyle.decot@...>
13 messages
2013/09/18
[#57264] [ruby-trunk - Feature #8921] Allow select, reject, etc to accept a regex
— "kyledecot (Kyle Decot)" <kyle.decot@...>
2013/09/18
[#57265] Re: [ruby-trunk - Feature #8921] Allow select, reject, etc to accept a regex
— Fuad Saud <fuadksd@...>
2013/09/18
Shouldn't select/reject use threequals?
[#57292] [ruby-trunk - Feature #8931][Open] Update URL in REPORTBUG_MSG — "zzak (Zachary Scott)" <e@...>
4 messages
2013/09/20
[#57315] [ruby-trunk - Feature #8938][Open] it keyword — "Sing9898 (Sing Lou)" <3b06e8d4@...>
5 messages
2013/09/23
[#57367] [ruby-trunk - Feature #8951][Open] Please add a hash-to-hash alternative of the map method to Hash — "behrangsa (Behrang Saeedzadeh)" <behrangsa@...>
8 messages
2013/09/25
[#57385] [ruby-trunk - Bug #8953][Open] `str =~ /pattern/` does not call =~ method if (1) str is a String, (2) /pattern/ is a Regexp literal — "gfx (Goro Fuji)" <gfuji@...>
12 messages
2013/09/26
[#57394] [ruby-trunk - Bug #8955][Open] LocalJumpError - no block given (yield) after implementation of class hierarchy method cache invalidation — "mfla (Morten Fla)" <mmflaa@...>
4 messages
2013/09/26
[#57462] [ruby-trunk - misc #8962][Open] [DOC] add step to enable Generational GC merits in README.EXT* — "tad (Tadashi Saito)" <redmine@...>
6 messages
2013/09/28
[ruby-core:57226] Re: [ruby-trunk - Feature #8912] Exception.raise
From:
Fuad Saud <fuadksd@...>
Date:
2013-09-15 21:17:19 UTC
List:
ruby-core #57226
Raising doesn't feel like a proper responsability of the exception.
On Sep 15, 2013 3:42 AM, "matz (Yukihiro Matsumoto)" <matz@ruby-lang.org>
wrote:
>
> Issue #8912 has been updated by matz (Yukihiro Matsumoto).
>
>
> As Nobu pointed out, we need to use the proper terms:
>
> * Exception.raise instead of Exception#raise
> * Exception.new instead of Exception#new
>
> We have to distinguish class methods and instance methods.
>
> Then I think we need a way to separate allocating and raising.
> By providing Exception.raise (and discouraging Kernel#raise), there's no
> sufficient way to raise pre-allocated exceptions.
> Kernel raise takes either exception class or exception instance.
>
> If we really need to emphasize OO way in raising exception as you claim,
> I'd rather add Exception#raise, i.e.
>
> MyException.new(:foo,:bar).raise
>
> But in reality, I prefer traditional
>
> raise MyException.new(:foo,:bar)
>
> because 'raise' is a core operation, that often is implemented by the
> reserved keyword in other languages,
> and maybe we will replace it by (somewhat-soft) keyword in the future.
>
> Matz.
>
>
> ----------------------------------------
> Feature #8912: Exception.raise
> https://bugs.ruby-lang.org/issues/8912#change-41820
>
> Author: sawa (Tsuyoshi Sawada)
> Status: Feedback
> Priority: Normal
> Assignee:
> Category:
> Target version:
>
>
> =begin
> When we have a custom exception class with a custom (({initialize}))
> method whose arity is not (({1})):
>
> class MyException < StandardError
> def initialize x, y
> super("Something went wrong with #{x.inspect} because #{y}, blah
> blah")
> end
> end
>
> in order to raise it, we have to create a new instance of it explicitly
> using (({new})), and embed that under (({Kernel#raise})).
>
> raise(MyException.new(:foo, :bar))
>
> This is inconvenient, and does not look object oriented. I propose that
> there should be (({Exception#raise})), which is public, so that we can do:
>
> MyException.raise(:foo, :bar)
>
> A Ruby implementation may be like this:
>
> class Exception
> def self.raise *args; Kernel.send(:raise, *args) end
> end
>
> This will disallow us from calling the private method (({Kernel#raise}))
> (without an explicit receiver) within the context of an (({Exception}))
> class unless we use (({send})), but I think such use case is rare, and that
> should not be a problem.
> =end
>
>
>
> --
> http://bugs.ruby-lang.org/
>