mercurial/error.py
changeset 7633 08cabecfa8a8
child 7636 e3f8c6d6b72e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/error.py	Sun Jan 11 22:48:28 2009 -0600
@@ -0,0 +1,26 @@
+"""
+error.py - Mercurial exceptions
+
+This allows us to catch exceptions at higher levels without forcing imports
+
+Copyright 2005-2008 Matt Mackall <mpm@selenic.com>
+
+This software may be used and distributed according to the terms
+of the GNU General Public License, incorporated herein by reference.
+"""
+
+# Do not import anything here, please
+
+class RevlogError(Exception):
+    pass
+
+class LookupError(RevlogError, KeyError):
+    def __init__(self, name, index, message):
+        self.name = name
+        if isinstance(name, str) and len(name) == 20:
+            from node import short
+            name = short(name)
+        RevlogError.__init__(self, '%s@%s: %s' % (index, name, message))
+
+    def __str__(self):
+        return RevlogError.__str__(self)