catch
в Ruby предназначен для выхода из глубоко вложенного кода. Например, в Java того же можно добиться с помощью try-catch
Java, предназначенного для обработки исключений, однако это считается плохим решением и также очень неэффективно. В Ruby для обработки исключений у нас есть begin-raise-rescue
, и я предполагаю, что использовать его для других задач также слишком дорого.
Действительно ли Ruby catch-throw
более эффективное решение, чем begin-raise-rescue
, или есть какие-то другие причины использовать его для разбиения вложенных блоков вместо begin-raise-rescue
?