diff --git a/Library/Homebrew/cmd/--cache.rb b/Library/Homebrew/cmd/--cache.rb index 63408643da..63a61485db 100644 --- a/Library/Homebrew/cmd/--cache.rb +++ b/Library/Homebrew/cmd/--cache.rb @@ -38,12 +38,14 @@ module Homebrew else puts formula.cached_download end - rescue FormulaUnavailableError + rescue FormulaUnavailableError => fe begin cask = Cask::CaskLoader.load name puts "cask: #{Cask::Cmd::Cache.cached_location(cask)}" - rescue Cask::CaskUnavailableError - ofail "No available formula or cask with the name \"#{name}\"" + rescue Cask::CaskUnavailableError => ce + odie "No available formula or cask with the name \"#{name}\"\n" \ + "#{fe.message}\n" \ + "#{ce.message}\n" end end end diff --git a/Library/Homebrew/cmd/home.rb b/Library/Homebrew/cmd/home.rb index ed42a5a99b..575c98c2b0 100644 --- a/Library/Homebrew/cmd/home.rb +++ b/Library/Homebrew/cmd/home.rb @@ -25,20 +25,20 @@ module Homebrew if args.no_named? exec_browser HOMEBREW_WWW else - homepages = args.named.flat_map do |ref| - [Formulary.factory(ref).homepage] - rescue FormulaUnavailableError => e - puts e.message + homepages = args.named.map do |ref| + Formulary.factory(ref).homepage + rescue FormulaUnavailableError => fe begin cask = Cask::CaskLoader.load(ref) - puts "Found a cask with ref \"#{ref}\" instead." - [cask.homepage] - rescue Cask::CaskUnavailableError => e - puts e.message - [] + puts "Formula \"#{ref}\" not found. Found a cask instead." + cask.homepage + rescue Cask::CaskUnavailableError => ce + odie "No available formula or cask with the name \"#{name}\"\n" \ + "#{fe.message}\n" \ + "#{ce.message}\n" end end - exec_browser(*homepages) unless homepages.empty? + exec_browser(*homepages) end end end