summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
Diffstat (limited to 'document')
-rw-r--r--document/src/vespa/document/serialization/vespadocumentdeserializer.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/document/src/vespa/document/serialization/vespadocumentdeserializer.cpp b/document/src/vespa/document/serialization/vespadocumentdeserializer.cpp
index 6567b8cb6b5..d88f7437112 100644
--- a/document/src/vespa/document/serialization/vespadocumentdeserializer.cpp
+++ b/document/src/vespa/document/serialization/vespadocumentdeserializer.cpp
@@ -373,7 +373,11 @@ VespaDocumentDeserializer::readTensor()
std::unique_ptr<vespalib::eval::Value> tensor;
if (length != 0) {
nbostream wrapStream(_stream.peek(), length);
- tensor = vespalib::eval::decode_value(wrapStream, FastValueBuilderFactory::get());
+ try {
+ tensor = vespalib::eval::decode_value(wrapStream, FastValueBuilderFactory::get());
+ } catch (const vespalib::eval::DecodeValueException &e) {
+ throw DeserializeException("tensor value decode failed", e, VESPA_STRLOC);
+ }
if (wrapStream.size() != 0) {
throw DeserializeException("Leftover bytes deserializing tensor field value.", VESPA_STRLOC);
}