aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/exceptions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/exceptions.rb')
-rw-r--r--Library/Homebrew/exceptions.rb28
1 files changed, 25 insertions, 3 deletions
diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb
index 130d3f505..144f70768 100644
--- a/Library/Homebrew/exceptions.rb
+++ b/Library/Homebrew/exceptions.rb
@@ -1,6 +1,28 @@
-class UsageError < RuntimeError; end
-class FormulaUnspecifiedError < UsageError; end
-class KegUnspecifiedError < UsageError; end
+class UsageError < RuntimeError
+ attr_reader :reason
+
+ def initialize(reason = nil)
+ @reason = reason
+ end
+
+ def to_s
+ s = "Invalid usage"
+ s += ": #{reason}" if reason
+ s
+ end
+end
+
+class FormulaUnspecifiedError < UsageError
+ def initialize
+ super "This command requires a formula argument"
+ end
+end
+
+class KegUnspecifiedError < UsageError
+ def initialize
+ super "This command requires a keg argument"
+ end
+end
class MultipleVersionsInstalledError < RuntimeError
attr_reader :name