From 539f9e9a0709527136ef9f7fc23c1c5b50f2fa36 Mon Sep 17 00:00:00 2001 From: huanghaiquan Date: Mon, 16 Sep 2019 15:29:42 +0800 Subject: [PATCH] Fixed bugs that no explicit exception when data contract encoder is not found; --- .../java/com/jd/blockchain/binaryproto/BinaryProtocol.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java index ddf8e012..c06c6039 100644 --- a/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java +++ b/source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BinaryProtocol.java @@ -42,6 +42,10 @@ public class BinaryProtocol { long version = HeaderEncoder.resolveVersion(bytes); DataContractEncoder encoder = DataContractContext.ENCODER_LOOKUP.lookup(code, version); + if (encoder == null) { + throw new DataContractException( + String.format("No data contract was registered with code[%s] and version[%s]!", code, version)); + } return encoder.decode(bytes.getInputStream()); }