Skip to content

Commit 6545504

Browse files
committed
Make exceptions more better pointed by seoyougjin
1 parent 4323967 commit 6545504

1 file changed

Lines changed: 27 additions & 2 deletions

File tree

msgpackrpc/error.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,36 @@
11
class RPCError(Exception):
2-
pass
2+
CODE = ".RPCError"
3+
4+
def __init__(self, message):
5+
Exception.__init__(self, message)
6+
7+
@property
8+
def code(self):
9+
return self.__class__.CODE
10+
11+
def to_msgpack(self):
12+
return [self.message]
13+
14+
@staticmethod
15+
def from_msgpack(message):
16+
return RPCError(message)
317

418
class TimeoutError(RPCError):
19+
CODE = ".TimeoutError"
520
pass
621

722
class TransportError(RPCError):
23+
CODE = ".TransportError"
24+
pass
25+
26+
class CallError(RPCError):
27+
CODE = ".NoMethodError"
28+
pass
29+
30+
class NoMethodError(CallError):
31+
CODE = ".CallError.NoMethodError"
832
pass
933

10-
class NoMethodError(RPCError):
34+
class ArgumentError(CallError):
35+
CODE = ".CallError.ArgumentError"
1136
pass

0 commit comments

Comments
 (0)