diff --git a/lib/savon.rb b/lib/savon.rb
index <HASH>..<HASH> 100644
--- a/lib/savon.rb
+++ b/lib/savon.rb
@@ -4,11 +4,14 @@ require "savon/client"
 module Savon
   extend Global
 
+  # Base class for Savon errors.
+  class Error < RuntimeError; end
+
   # Raised in case of an HTTP error.
-  class HTTPError < StandardError; end
+  class HTTPError < Error; end
 
   # Raised in case of a SOAP fault.
-  class SOAPFault < StandardError; end
+  class SOAPFault < Savon::Error; end
 
   # Yields the <tt>Savon::Config</tt> class to a given +block+.
   def self.configure
diff --git a/spec/savon/savon_spec.rb b/spec/savon/savon_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/savon/savon_spec.rb
+++ b/spec/savon/savon_spec.rb
@@ -2,6 +2,18 @@ require "spec_helper"
 
 describe Savon do
 
+  describe Savon::SOAPFault do
+    it "should be a Savon::Error" do
+      Savon::SOAPFault.should < Savon::Error
+    end
+  end
+
+  describe Savon::HTTPError do
+    it "should be a Savon::Error" do
+      Savon::HTTPError.should < Savon::Error
+    end
+  end
+
   describe ".configure" do
     around do |example|
       Savon.reset_config!
changed Savon::SOAPFault and Savon::HTTPError to inherit from Savon::Error to ease rescue