aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/exceptions.py
blob: 637be3dfb263d3256930c8f124cc609f32a5eff4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""
We try to be very hygienic regarding the exceptions we throw:
Every Exception netlib raises shall be a subclass of NetlibException.


See also: http://lucumr.pocoo.org/2014/10/16/on-error-handling/
"""
from __future__ import absolute_import, print_function, division


class NetlibException(Exception):
    """
    Base class for all exceptions thrown by netlib.
    """
    def __init__(self, message=None):
        super(NetlibException, self).__init__(message)


class ReadDisconnect(object):
    """Immediate EOF"""


class HttpException(NetlibException):
    pass


class HttpReadDisconnect(HttpException, ReadDisconnect):
    pass

class HttpSyntaxException(HttpException):
    pass