requireが失敗したときに発生するLoadError例外をキャッチすべくこのようなコードを書いたが、うまくいかなかった。
begin
require "hogehoge"
rescue
puts "LoadError!"
puts "Install hogehoge gem before running this code."
exit
end
# do something
どうやらrescue節に何も指定しなかった場合、StandardErrorの例外のみをキャッチするらしい。LoadErrorはScriptErrorのサブクラスであり、StandardErrorとは異なる継承ツリーにいる。

先ほどのコードを次のように変更すればLoadErrorをキャッチできるようになるというわけ。
begin
require "hogehoge"
rescue LoadError
puts "LoadError!"
puts "Install hogehoge gem before running this code."
exit
end
# do something