Index: libcfa/src/parseconfig.cfa
===================================================================
--- libcfa/src/parseconfig.cfa	(revision e54654e7e732ad1385e6c0a32e2e85ea4aaa22c6)
+++ libcfa/src/parseconfig.cfa	(revision 80ae1216da8aeba9827e4509ad4b74098c6b119c)
@@ -2,4 +2,22 @@
 #include <parseargs.hfa>
 #include "parseconfig.hfa"
+
+
+// *********************************** exceptions ***********************************
+
+
+EHM_VIRTUAL_TABLE(Validation_Failure, Validation_Failure_main_table);
+void ?{}( Validation_Failure & this, config_entry & entry ) with ( entry ) {
+	this.virtual_table = &Validation_Failure_main_table;
+	this.key = key;
+	this.variable = variable;
+}
+void throwValidation_Failure( config_entry & entry ) {
+	Validation_Failure exc = { entry };
+}
+
+
+// *********************************** main code ***********************************
+
 
 struct KVPairs {
Index: libcfa/src/parseconfig.hfa
===================================================================
--- libcfa/src/parseconfig.hfa	(revision e54654e7e732ad1385e6c0a32e2e85ea4aaa22c6)
+++ libcfa/src/parseconfig.hfa	(revision 80ae1216da8aeba9827e4509ad4b74098c6b119c)
@@ -1,3 +1,18 @@
 #pragma once
+
+
+// *********************************** exceptions ***********************************
+
+
+EHM_EXCEPTION(Validation_Failure)(
+	const char * key;
+	void * variable;
+);
+
+void ?{}( Validation_Failure & this, config_entry & entry );
+
+
+// *********************************** main code ***********************************
+
 
 struct config_entry {
