~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/errors.py

MergedĀ fromĀ mainline

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
 
47
47
 * the printable form of an exception is generated by the base class
48
48
   __str__ method
 
49
 
 
50
Exception strings should start with a capital letter and not have a final
 
51
fullstop.
49
52
"""
50
53
 
51
54
# based on Scott James Remnant's hct error classes
363
366
        TransportError.__init__(self, msg=msg, orig_error=orig_error)
364
367
        IOError.__init__(self, errno.ENOENT, self.msg)
365
368
 
 
369
class ConnectionError(TransportError, IOError):
 
370
    """
 
371
    A connection problem prevents file retrieval.
 
372
    This does not indicate whether the file exists or not; it indicates that a
 
373
    precondition for requesting the file was not met.
 
374
    """
 
375
 
 
376
    # XXX: Is multiple inheritance for exceptions really needed?
 
377
 
 
378
    def __str__(self):
 
379
        return 'connection error: ' + self.msg
 
380
 
 
381
    def __init__(self, msg=None, orig_error=None):
 
382
        import errno
 
383
        TransportError.__init__(self, msg=msg, orig_error=orig_error)
 
384
        IOError.__init__(self, errno.ENOENT, self.msg)
 
385
 
 
386
 
366
387
class FileExists(TransportError, OSError):
367
388
    """An operation was attempted, which would overwrite an entry,
368
389
    but overwritting is not supported.