rather fail-fast than hide mistakes (might be e.g. a typo in the source YAML file) v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 05 Dec 2020 19:48:52 +0100
branchv_0
changeset 6 67dc7aaa5ed7
parent 5 399380ea9750
child 7 1b6deb1c8720
rather fail-fast than hide mistakes (might be e.g. a typo in the source YAML file)
src/YAMLCommand.h
--- a/src/YAMLCommand.h	Sat Dec 05 19:42:21 2020 +0100
+++ b/src/YAMLCommand.h	Sat Dec 05 19:48:52 2020 +0100
@@ -139,7 +139,7 @@
 		YAMLEvent_p event = YAMLEvent_p(parser.next());
 		if (!event) throw RelpipeWriterException(L"Invalid YAML structure: missing event: " + YAMLEvent::findTypeName(expectedEventType));
 		if (event->getType() != expectedEventType) throw RelpipeWriterException(L"Invalid YAML structure: expected event: " + YAMLEvent::findTypeName(expectedEventType) + L", but got: " + event->getTypeName());
-		if (expectedEventType == YAML_SCALAR_EVENT && expectedScalarValue.size() && expectedScalarValue != fetchScalarValue(event)) throw RelpipeWriterException(L"Invalid YAML structure: expected scalar value: " + expectedScalarValue + L", but got " + fetchScalarValue(event));
+		if (expectedEventType == YAML_SCALAR_EVENT && expectedScalarValue.size() && expectedScalarValue != fetchScalarValue(event)) throw RelpipeWriterException(L"Invalid YAML structure: expected scalar value: „" + expectedScalarValue + L"“, but got „" + fetchScalarValue(event) + L"“");
 	}
 
 	string_t consumeScalarEvent() {
@@ -173,7 +173,7 @@
 				auto value = consumeScalarEvent();
 				if (key == L"name") name = value;
 				else if (key == L"type") type = value;
-				else; // unsupported metadata, later there might be something useful
+				else throw RelpipeWriterException(L"Invalid YAML structure: expected „name“ or „type“ but got: " + key);
 			}
 			attributesMetadata.push_back({name, writer->toTypeId(type)});
 		}
@@ -188,7 +188,7 @@
 		} else if (event->getType() == YAML_MAPPING_END_EVENT) {
 			// empty relation, no records
 		} else {
-			RelpipeWriterException(L"Invalid YAML structure: expected 'record' or MAPPING_END, but got: " + event->getTypeName());
+			RelpipeWriterException(L"Invalid YAML structure: expected „record“ or MAPPING_END, but got: " + event->getTypeName());
 		}
 	}