(2013/12/10 23:24), nobu (Nobuyoshi Nakada) wrote:
> Carelessly, I implemented `raise cause: ex` but not `Exception.new(cause: ex)`, and nearly committed it.
> Do you prefer the latter?

How about to simply add Exception#cause= only?

This is because:

  * Setting "cause" is not common usecase (nobody care about it)
    Some long steps such as
       e = Exception.new(...)
       e.cause =...
       raise e"
    is acceptable for unusual cases.

  * No compatibility issue with raise()

However, matz is against "cause=" by [ruby-core:57773].
Because he doesn't want to introduce any states.
I also agree this point.

-- 
// SASADA Koichi at atdot dot net