diff --git a/Library/Homebrew/cmd/readall.rb b/Library/Homebrew/cmd/readall.rb index 9216f63770..260a1750d1 100644 --- a/Library/Homebrew/cmd/readall.rb +++ b/Library/Homebrew/cmd/readall.rb @@ -35,7 +35,7 @@ module Homebrew formulae = Formula.full_names else tap = Tap.new(*tap_args) - raise "#{tap} does not exist!" unless tap.installed? + raise TapUnavailableError, tap.name unless tap.installed? formulae = tap.formula_files end diff --git a/Library/Homebrew/cmd/untap.rb b/Library/Homebrew/cmd/untap.rb index dd66cec1be..f1040bb051 100644 --- a/Library/Homebrew/cmd/untap.rb +++ b/Library/Homebrew/cmd/untap.rb @@ -7,7 +7,7 @@ module Homebrew ARGV.named.each do |tapname| tap = Tap.new(*tap_args(tapname)) - raise "No such tap!" unless tap.installed? + raise TapUnavailableError, tap.name unless tap.installed? puts "Untapping #{tap}... (#{tap.path.abv})" formula_count = tap.formula_files.size diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index 7ae185d00d..7eb053a7c9 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -84,6 +84,18 @@ class TapFormulaAmbiguityError < RuntimeError end end +class TapUnavailableError < RuntimeError + attr_reader :name + + def initialize name + @name = name + + super <<-EOS.undent + No available tap #{name}. + EOS + end +end + class OperationInProgressError < RuntimeError def initialize name message = <<-EOS.undent