[PATCH] raise exceptions with Exception subclasses
Bart Trojanowski
bart at jukie.net
Tue Aug 23 08:35:25 CDT 2005
Fixed the patch. Using Exception subclasses.
diff -r f859e9cba1b9 mercurial/hgweb.py
--- a/mercurial/hgweb.py Mon Aug 22 08:22:29 2005
+++ b/mercurial/hgweb.py Tue Aug 23 09:30:52 2005
@@ -63,6 +63,8 @@
write(part)
else:
sys.stdout.write(str(thing))
+
+class LookupError(Exception): pass
class templater:
def __init__(self, mapfile, filters = {}, defaults = {}):
@@ -81,7 +83,7 @@
if m:
self.map[m.group(1)] = os.path.join(self.base, m.group(2))
else:
- raise "unknown map entry '%s'" % l
+ raise LookupError("unknown map entry '%s'" % l)
def __call__(self, t, **map):
m = self.defaults.copy()
diff -r f859e9cba1b9 mercurial/revlog.py
--- a/mercurial/revlog.py Mon Aug 22 08:22:29 2005
+++ b/mercurial/revlog.py Tue Aug 23 09:30:52 2005
@@ -32,7 +32,7 @@
if t == '\0': return bin
if t == 'x': return zlib.decompress(bin)
if t == 'u': return bin[1:]
- raise "unknown compression type %s" % t
+ raise RevlogError("unknown compression type %s" % t)
def hash(text, p1, p2):
l = [p1, p2]
@@ -120,6 +120,8 @@
def __setitem__(self, key, val):
self.p.map[key] = val
+class RevlogError(Exception): pass
+
class revlog:
def __init__(self, opener, indexfile, datafile):
self.indexfile = indexfile
@@ -505,7 +507,7 @@
if node in self.nodemap:
# this can happen if two branches make the same change
if unique:
- raise "already have %s" % hex(node[:4])
+ raise RevlogError("already have %s" % hex(node[:4]))
chain = node
continue
delta = chunk[80:]
@@ -514,7 +516,7 @@
# retrieve the parent revision of the delta chain
chain = p1
if not chain in self.nodemap:
- raise "unknown base %s" % short(chain[:4])
+ raise RevlogError("unknown base %s" % short(chain[:4]))
# full versions are inserted when the needed deltas become
# comparable to the uncompressed text or when the previous
@@ -533,7 +535,7 @@
text = self.patches(text, [delta])
chk = self.addrevision(text, transaction, link, p1, p2)
if chk != node:
- raise "consistency error adding group"
+ raise RevlogError("consistency error adding group")
measure = len(text)
else:
e = (end, len(cdelta), self.base(t), link, p1, p2, node)
diff -r f859e9cba1b9 mercurial/transaction.py
--- a/mercurial/transaction.py Mon Aug 22 08:22:29 2005
+++ b/mercurial/transaction.py Tue Aug 23 09:30:52 2005
@@ -14,13 +14,15 @@
import os
import util
+class AssertionError(Exception): pass
+
class transaction:
def __init__(self, report, opener, journal, after = None):
self.journal = None
# abort here if the journal already exists
if os.path.exists(journal):
- raise "journal already exists - run hg recover"
+ raise AssertionError("journal already exists - run hg recover")
self.report = report
self.opener = opener
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.selenic.com/pipermail/mercurial/attachments/20050823/3fbc2275/attachment-0001.pgp
More information about the Mercurial
mailing list