Ruby での例外の発生と例外のスローの違いは何ですか?
概要
Ruby には、Throw/Catch と Raise/Rescue という 2 つの異なる例外メカニズムがあります。
なぜ 2 つあるのでしょうか?
一方を使用し、もう一方を使用しないのはどのような場合ですか?
解決策
while ループなどの単一レベルの制御フローを終了するには、break を使用します。入れ子になったループなど、多くのレベルの制御フローを終了するには、throw を使用します。
Ruby には、Throw/Catch と Raise/Rescue という 2 つの異なる例外メカニズムがあります。
なぜ 2 つあるのでしょうか?
一方を使用し、もう一方を使用しないのはどのような場合ですか?
while ループなどの単一レベルの制御フローを終了するには、break を使用します。入れ子になったループなど、多くのレベルの制御フローを終了するには、throw を使用します。