[#119637] Behavior of raising from rescue blocks when multiple rescue blocks exist — Rodrigo Rosenfeld Rosas via ruby-core <ruby-core@...>
Hello, I couldn't find any documentation about the subject, so I thought
3 messages
2024/10/29
[ruby-core:119469] [Ruby master Feature#20786] Flow chaining with "then" keyword
From:
lpogic via ruby-core <ruby-core@...>
Date:
2024-10-06 14:04:50 UTC
List:
ruby-core #119469
SXNzdWUgIzIwNzg2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGxwb2dpYyAoxYF1a2FzeiBQb21pZXTF gm8pLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJl ICMyMDc4NjogRmxvdyBjaGFpbmluZyB3aXRoICJ0aGVuIiBrZXl3b3JkDQpodHRwczovL2J1Z3Mu cnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA3ODYNCg0KKiBBdXRob3I6IGxwb2dpYyAoxYF1a2FzeiBQ b21pZXTFgm8pDQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KSGksDQpJIHdvdWxkIGxpa2UgdG8gcHJvcG9zZSB1c2luZyB0aGUgKiJ0aGVu Iioga2V5d29yZCB0byBjcmVhdGUgY2hhaW5lZCBmbG93cy4NCg0KIyMjIEJhY2tncm91bmQ6DQpP cmlnaW5hbCBpZGVhOiBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA3NzAjY2hh bmdlLTExMDA1Ng0KSG93ZXZlciwgdGhlIGNvbmNlcHQgaGFzIGNoYW5nZWQgc2xpZ2h0bHkgc2lu Y2UgdGhlbi4gSSBub3cgYXNzdW1lIHRoYXQgcmhzIGlzIG9ubHkgY2FsY3VsYXRlZCB3aGVuIGxo cyBpcyB0cnVlLCB3aGljaCBzZWVtcyBtb3JlIGNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCB1 c2FnZSBvZiAqInRoZW4iKiBrZXl3b3JkLg0KSSB3b3VsZCBhbHNvIGxpa2UgdG8gbW92ZSB0aGUg ZGlzY3Vzc2lvbiBoZXJlIGFzIGl0IG1heSBjYXVzZSB1bm5lY2Vzc2FyeSBjaGFvcyB0aGVyZS4N Cg0KIyMjIEJhc2ljczoNCkluIHRoZSBjYW5vbmljYWwgdmVyc2lvbiwgKiJ0aGVuIiogaXMgdXNl ZCBpbiBhICoiYmVnaW4uLmVuZCIqIGJsb2NrIHRvIHNwbGl0IGl0IGludG8gc3RlcHMuDQpXaGVu IHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgZXhwcmVzc2lvbiBiZWZvcmUgKiJ0aGVuIiogaXMgbm90 ICoiZmFsc2UiKiBvciAqIm5pbCIqLCBpdCBpcyBwYXNzZWQgYXMgYW4gYXJndW1lbnQgdG8gdGhl IG5leHQgc3RlcC4gT3RoZXJ3aXNlLCBhbGwgc3Vic2VxdWVudCBzdGVwcyBhcmUgc2tpcHBlZC4N ClRoZSByZXN1bHQgb2YgdGhlICoiYmVnaW4uLmVuZCIqIGJsb2NrIGlzIHRoZSByZXN1bHQgb2Yg dGhlIGxhc3QgZXhwcmVzc2lvbiwgb3IgKiJmYWxzZSIqLyoibmlsIiogaWYgYW55IHN0ZXAgd2Fz IHNraXBwZWQuDQoNCiMjIyBFeGFtcGxlOg0KYGBgIHJ1YnkNCiMgb3JpZ2luYWwgY29kZSBzb3Vy Y2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvYmxvYi9hNjM4M2ZiZTE2MjhiZGFhOWVj NmEzMGIzYmFhNjBkZDc0MzBiNDYxL2xpYi9pcGFkZHIucmIjTDE4MUMxLUwxODVDNg0KZGVmIGlu Y2x1ZGU/KG90aGVyKQ0KICBvdGhlciA9IGNvZXJjZV9vdGhlcihvdGhlcikNCiAgcmV0dXJuIGZh bHNlIHVubGVzcyBvdGhlci5mYW1pbHkgPT0gZmFtaWx5DQogIGJlZ2luX2FkZHIgPD0gb3RoZXIu YmVnaW5fYWRkciAmJiBlbmRfYWRkciA+PSBvdGhlci5lbmRfYWRkcg0KZW5kDQoNCiMgd2l0aCBj aGFpbmVkIGZsb3cNCmRlZiBpbmNsdWRlPyhvdGhlcikNCiAgYmVnaW4NCiAgICBjb2VyY2Vfb3Ro ZXIob3RoZXIpDQogIHRoZW4gPT4gY29lcmNlZCAgIyB0aGVuID0+IG5hbWUgICBpcyBteSBwcm9w b3NpdGlvbiBvZiBhcmd1bWVudCBuYW1pbmcgc3ludGF4DQogICAgcmV0dXJuIGZhbHNlIHVubGVz cyBjb2VyY2VkLmZhbWlseSA9PSBmYW1pbHkNCiAgICBjb2VyY2VkDQogIHRoZW4gPT4gaXQNCiAg ICBiZWdpbl9hZGRyIDw9IGl0LmJlZ2luX2FkZHIgJiYgZW5kX2FkZHIgPj0gaXQuZW5kX2FkZHIN CiAgZW5kDQplbmQNCmBgYA0KDQpQbGVhc2UgdHJlYXQgdGhlIGNhbm9uaWNhbCBmb3JtIGFzIGEg c3RhcnRpbmcgcG9pbnQuIEFzIGZ1cnRoZXIgaW1wcm92ZW1lbnRzIEkgd291bGQgc2VlOg0KLSBp bXBsaWNpdCBibG9jayBhcmd1bWVudCBuYW1lDQotIGltcGxpY2l0IGJlZ2luDQotIGJlZ2lubGVz cyAqInRoZW4iKiwgd2hlbiBsaHMgaXMganVzdCBleHByZXNzaW9uDQoNCiMjIyBFeGFtcGxlIHdp dGggZnV0aGVyIGltcHJvdmVtZW50czoNCmBgYCBydWJ5DQpkZWYgaW5jbHVkZT8ob3RoZXIpDQog IGNvZXJjZV9vdGhlcihvdGhlcikNCnRoZW4gDQogIGl0LmZhbWlseSA9PSBmYW1pbHkgPyBpdCA6 IGZhbHNlDQp0aGVuDQogIGJlZ2luX2FkZHIgPD0gaXQuYmVnaW5fYWRkciAmJiBlbmRfYWRkciA+ PSBpdC5lbmRfYWRkcg0KZW5kDQoNCiMgb3INCmRlZiBpbmNsdWRlPyhvdGhlcikNCiAgY29lcmNl X290aGVyIG90aGVyIHRoZW4NCiAgICByZXR1cm4gZmFsc2UgdW5sZXNzIGl0LmZhbWlseSA9PSBm YW1pbHkNCiAgICBiZWdpbl9hZGRyIDw9IGl0LmJlZ2luX2FkZHIgJiYgZW5kX2FkZHIgPj0gaXQu ZW5kX2FkZHINCiAgZW5kDQplbmQNCmBgYA0KDQojIyMgKiJ0aGVuIioga2V5d29yZCBhcyB0aGUg cGlwZWxpbmUgb3BlcmF0b3I6DQpVbmRlciBjZXJ0YWluIGNvbmRpdGlvbnMsICJ0aGVuIiBjb3Vs ZCBvZmZlciBzaW1pbGFyIGNhcGFiaWxpdGllcyB0byB0aGUgcGlwZWxpbmUgb3BlcmF0b3Igb2Yg ZnVuY3Rpb25hbCBsYW5ndWFnZXM6DQpgYGAgcnVieQ0KIyBhc3N1bWluZyB0aGF0ICJmb28iIGFu ZCAiYmFyIiBuZXZlciByZXR1cm4gImZhbHNlIiBvciAibmlsIg0KIyBpbnN0ZWFkIG9mIHdyaXRp bmcgdGhpczoNCmJheigic3RyaW5nIiwgYmFyKGZvbygpLCAyKSwgNSkNCiMgeW91IGNvdWxkIHdy aXRlIHRoaXM6DQpiZWdpbiBmb28oKSANCnRoZW4gYmFyKGl0LCAyKSANCnRoZW4gYmF6KCJzdHJp bmciLCBpdCwgNSkgDQplbmQNCmBgYA0KDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwog VG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1s YW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxt YW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==