[#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:119471] [Ruby master Feature#20786] Flow chaining with "then" keyword
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2024-10-07 02:18:50 UTC
List:
ruby-core #119471
SXNzdWUgIzIwNzg2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku DQoNCg0KSXQgbG9va3MgdG8gY29uZmxpY3QgaW5zaWRlIGBpZmAuDQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwNzg2OiBGbG93IGNoYWluaW5n IHdpdGggInRoZW4iIGtleXdvcmQNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8y MDc4NiNjaGFuZ2UtMTEwMDg4DQoNCiogQXV0aG9yOiBscG9naWMgKMWBdWthc3ogUG9taWV0xYJv KQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCkhpLA0KSSB3b3VsZCBsaWtlIHRvIHByb3Bvc2UgdXNpbmcgdGhlICoidGhlbiIqIGtleXdv cmQgdG8gY3JlYXRlIGNoYWluZWQgZmxvd3MuDQoNCiMjIyBCYWNrZ3JvdW5kOg0KT3JpZ2luYWwg aWRlYTogaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwNzcwI2NoYW5nZS0xMTAw NTYNCkhvd2V2ZXIsIHRoZSBjb25jZXB0IGhhcyBjaGFuZ2VkIHNsaWdodGx5IHNpbmNlIHRoZW4u IEkgbm93IGFzc3VtZSB0aGF0IHJocyBpcyBvbmx5IGNhbGN1bGF0ZWQgd2hlbiBsaHMgaXMgdHJ1 ZSwgd2hpY2ggc2VlbXMgbW9yZSBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgdXNhZ2Ugb2Yg KiJ0aGVuIioga2V5d29yZC4NCkkgd291bGQgYWxzbyBsaWtlIHRvIG1vdmUgdGhlIGRpc2N1c3Np b24gaGVyZSBhcyBpdCBtYXkgY2F1c2UgdW5uZWNlc3NhcnkgY2hhb3MgdGhlcmUuDQoNCiMjIyBC YXNpY3M6DQpJbiB0aGUgY2Fub25pY2FsIHZlcnNpb24sICoidGhlbiIqIGlzIHVzZWQgaW4gYSAq ImJlZ2luLi5lbmQiKiBibG9jayB0byBzcGxpdCBpdCBpbnRvIHN0ZXBzLg0KV2hlbiB0aGUgcmVz dWx0IG9mIHRoZSBsYXN0IGV4cHJlc3Npb24gYmVmb3JlICoidGhlbiIqIGlzIG5vdCAqImZhbHNl Iiogb3IgKiJuaWwiKiwgaXQgaXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBuZXh0IHN0 ZXAuIE90aGVyd2lzZSwgYWxsIHN1YnNlcXVlbnQgc3RlcHMgYXJlIHNraXBwZWQuDQpUaGUgcmVz dWx0IG9mIHRoZSAqImJlZ2luLi5lbmQiKiBibG9jayBpcyB0aGUgcmVzdWx0IG9mIHRoZSBsYXN0 IGV4cHJlc3Npb24sIG9yICoiZmFsc2UiKi8qIm5pbCIqIGlmIGFueSBzdGVwIHdhcyBza2lwcGVk Lg0KDQojIyMgRXhhbXBsZToNCmBgYCBydWJ5DQojIG9yaWdpbmFsIGNvZGUgc291cmNlOiBodHRw czovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Jsb2IvYTYzODNmYmUxNjI4YmRhYTllYzZhMzBiM2Jh YTYwZGQ3NDMwYjQ2MS9saWIvaXBhZGRyLnJiI0wxODFDMS1MMTg1QzYNCmRlZiBpbmNsdWRlPyhv dGhlcikNCiAgb3RoZXIgPSBjb2VyY2Vfb3RoZXIob3RoZXIpDQogIHJldHVybiBmYWxzZSB1bmxl c3Mgb3RoZXIuZmFtaWx5ID09IGZhbWlseQ0KICBiZWdpbl9hZGRyIDw9IG90aGVyLmJlZ2luX2Fk ZHIgJiYgZW5kX2FkZHIgPj0gb3RoZXIuZW5kX2FkZHINCmVuZA0KDQojIHdpdGggY2hhaW5lZCBm bG93DQpkZWYgaW5jbHVkZT8ob3RoZXIpDQogIGJlZ2luDQogICAgY29lcmNlX290aGVyKG90aGVy KQ0KICB0aGVuID0+IGNvZXJjZWQgICMgdGhlbiA9PiBuYW1lICAgaXMgbXkgcHJvcG9zaXRpb24g b2YgYXJndW1lbnQgbmFtaW5nIHN5bnRheA0KICAgIHJldHVybiBmYWxzZSB1bmxlc3MgY29lcmNl ZC5mYW1pbHkgPT0gZmFtaWx5DQogICAgY29lcmNlZA0KICB0aGVuID0+IGl0DQogICAgYmVnaW5f YWRkciA8PSBpdC5iZWdpbl9hZGRyICYmIGVuZF9hZGRyID49IGl0LmVuZF9hZGRyDQogIGVuZA0K ZW5kDQpgYGANCg0KUGxlYXNlIHRyZWF0IHRoZSBjYW5vbmljYWwgZm9ybSBhcyBhIHN0YXJ0aW5n IHBvaW50LiBBcyBmdXJ0aGVyIGltcHJvdmVtZW50cyBJIHdvdWxkIHNlZToNCi0gaW1wbGljaXQg YmxvY2sgYXJndW1lbnQgbmFtZQ0KLSBpbXBsaWNpdCBiZWdpbg0KLSBiZWdpbmxlc3MgKiJ0aGVu IiosIHdoZW4gbGhzIGlzIGp1c3QgZXhwcmVzc2lvbg0KDQojIyMgRXhhbXBsZSB3aXRoIGZ1dGhl ciBpbXByb3ZlbWVudHM6DQpgYGAgcnVieQ0KZGVmIGluY2x1ZGU/KG90aGVyKQ0KICBjb2VyY2Vf b3RoZXIob3RoZXIpDQp0aGVuIA0KICBpdC5mYW1pbHkgPT0gZmFtaWx5ID8gaXQgOiBmYWxzZQ0K dGhlbg0KICBiZWdpbl9hZGRyIDw9IGl0LmJlZ2luX2FkZHIgJiYgZW5kX2FkZHIgPj0gaXQuZW5k X2FkZHINCmVuZA0KDQojIG9yDQpkZWYgaW5jbHVkZT8ob3RoZXIpDQogIGNvZXJjZV9vdGhlciBv dGhlciB0aGVuDQogICAgcmV0dXJuIGZhbHNlIHVubGVzcyBpdC5mYW1pbHkgPT0gZmFtaWx5DQog ICAgYmVnaW5fYWRkciA8PSBpdC5iZWdpbl9hZGRyICYmIGVuZF9hZGRyID49IGl0LmVuZF9hZGRy DQogIGVuZA0KZW5kDQpgYGANCg0KIyMjICoidGhlbiIqIGtleXdvcmQgYXMgdGhlIHBpcGVsaW5l IG9wZXJhdG9yOg0KVW5kZXIgY2VydGFpbiBjb25kaXRpb25zLCAidGhlbiIgY291bGQgb2ZmZXIg c2ltaWxhciBjYXBhYmlsaXRpZXMgdG8gdGhlIHBpcGVsaW5lIG9wZXJhdG9yIG9mIGZ1bmN0aW9u YWwgbGFuZ3VhZ2VzOg0KYGBgIHJ1YnkNCiMgYXNzdW1pbmcgdGhhdCAiZm9vIiBhbmQgImJhciIg bmV2ZXIgcmV0dXJuICJmYWxzZSIgb3IgIm5pbCINCiMgaW5zdGVhZCBvZiB3cml0aW5nIHRoaXM6 DQpiYXooInN0cmluZyIsIGJhcihmb28oKSwgMiksIDUpDQojIHlvdSBjb3VsZCB3cml0ZSB0aGlz Og0KYmVnaW4gZm9vKCkgDQp0aGVuIGJhcihpdCwgMikgDQp0aGVuIGJheigic3RyaW5nIiwgaXQs IDUpIA0KZW5kDQpgYGANCg0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn Lw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIHJ1Ynkt Y29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vi c2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcK IHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9saXN0 cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=