私は例外的な状況を除いて例外の使用を避けることを提唱したブログ投稿JRuby Performance: Exceptions are not flow controlを読んだ。Ruby用のLoadErrorを救済する代替手段はありますか?
私は、Rescueを使用して定期的にLoadErrorsを処理することに罪があることを認識しました。
require
の代替ファイルが存在する場合はファイルをロードしようとしますが、存在しない場合は例外をスローしませんか?
背景:あなたは「なぜあなたは持っているあなたが絶対に必要としないことが必要です?」迷っている場合は、ここに私の話です:
- 私はルビー1.8のプログラミングましたが、私は
require "rdoc/usage"
を使用コマンドラインアプリケーションで正しい数のパラメータを入力しなかった場合、使用方法の情報を提供できるようになりました。これにより、すぐに使用できる1.9の例外がスローされます。 - 私のアプリケーションの一部には、Windowsデスクトップ上でwin32oleを操作するコードが含まれています。これにより、関係するファイルが、重い計算作業を行うLinuxサーバーで実行された場合に、LoadErrorが発生します。 win32oleを使用するファイルには、テストスイートでテストされる他のコードも含まれています。したがって、Linux上でテストスイートを実行する場合、それらのファイルを必要とします。私はそのようなファイルを分けなければならないが、それはヤク剃りのようである。
私は非常に似たユースケースを持っています(つまり、ツール内のオプションの拡張子)。私は、LoadErrorがこれを行う唯一の方法であるかどうか不思議です。 –
この記事では、* Railsのリクエストごとに*数百回の例外が発生した場合について説明していますが、プログラムの全ライフタイム中に* 2回*例外を1回*発生させることについて話しています。 –