~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/errors.py

  • Committer: Robert Collins
  • Date: 2005-10-07 01:01:07 UTC
  • mfrom: (1185.13.2)
  • Revision ID: robertc@robertcollins.net-20051007010107-fe48434051a15b92
mergeĀ fromĀ upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
# exceptions 
24
24
class BzrError(StandardError):
25
25
    def __str__(self):
 
26
        # XXX: Should we show the exception class in 
 
27
        # exceptions that don't provide their own message?  
 
28
        # maybe it should be done at a higher level
 
29
        ## n = self.__class__.__name__ + ': '
 
30
        n = ''
26
31
        if len(self.args) == 1:
27
 
            return self.args[0]
 
32
            return n + self.args[0]
28
33
        elif len(self.args) == 2:
29
34
            # further explanation or suggestions
30
 
            return '\n  '.join([self.args[0]] + self.args[1])
 
35
            try:
 
36
                return n + '\n  '.join([self.args[0]] + self.args[1])
 
37
            except TypeError:
 
38
                return n + "%r" % self
31
39
        else:
32
 
            return `self.args`
 
40
            return n + `self.args`
33
41
 
34
42
 
35
43
class BzrCheckError(BzrError):
47
55
 
48
56
class BzrCommandError(BzrError):
49
57
    # Error from malformed user command
50
 
    pass
 
58
    def __str__(self):
 
59
        return self.args[0]
51
60
 
52
61
 
53
62
class NotBranchError(BzrError):
54
63
    """Specified path is not in a branch"""
55
 
    pass
 
64
    def __str__(self):
 
65
        return 'not a branch: %s' % self.args[0]
56
66
 
57
67
 
58
68
class NotVersionedError(BzrError):
203
213
 
204
214
class NoSuchFile(TransportError, IOError):
205
215
    """A get() was issued for a file that doesn't exist."""
 
216
 
 
217
    # XXX: Is multiple inheritance for exceptions really needed?
 
218
 
 
219
    def __str__(self):
 
220
        return 'no such file: ' + self.msg
 
221
 
206
222
    def __init__(self, msg=None, orig_error=None):
207
223
        import errno
208
224
        TransportError.__init__(self, msg=msg, orig_error=orig_error)
214
230
 
215
231
    mkdir() can throw this, but put() just overwites existing files.
216
232
    """
 
233
    # XXX: Is multiple inheritance for exceptions really needed?
217
234
    def __init__(self, msg=None, orig_error=None):
218
235
        import errno
219
236
        TransportError.__init__(self, msg=msg, orig_error=orig_error)
227
244
    """The connection has been closed."""
228
245
    pass
229
246
 
 
247
class ConflictsInTree(BzrError):
 
248
    def __init__(self):
 
249
        BzrError.__init__(self, "Working tree has conflicts.")