4

raise私は最近、 vs .について議論を始めましたthrow。これについて議論している別のSOスレッドがあり、専門家は状況を次のように要約しました。

  • スローとレイズは、かなりの程度、交換可能です
  • の利点はthrow、何でも簡単にスローできることと、スタック トレースをまとめる時間を無駄にしないことです。

Ruby で実際に throw を使用する人がいないのはなぜですか? 前述のスレッドでは、HTTP エラー コードを処理するために Sinatra で catch / throw を使用することについて言及されていましたが、実際に出回っている catch / throw の例はほとんど見たことがなく、自分のコードで使用したのは 1 回だけです。現在の Rails のセキュリティ危機が示しているように、Ruby コミュニティは重要な機能 (この特定のケースでは $SAFE レベル) を広く無視しています。では、キャッチ/スローとは何ですか?

4

0 に答える 0