Index: libcfa/src/parseconfig.cfa
===================================================================
--- libcfa/src/parseconfig.cfa	(revision dcf792a65cd7bc8bb2e86c4f7fecd34f0f95b32f)
+++ libcfa/src/parseconfig.cfa	(revision a75cd3d81ac5ed6b6bf232799629c266ddfb3db5)
@@ -16,4 +16,8 @@
 }
 
+void msg( Missing_Config_Entries * ex ) {
+	serr | "The config file is missing " | ex->num_missing | " entries";
+}
+
 
 static vtable(Parse_Failure) Parse_Failure_vt;
@@ -33,4 +37,8 @@
 }
 
+void msg( Parse_Failure * ex ) {
+	serr | "Config entry " | ex->failed_key | " could not be parsed. It has value " | ex->failed_value | ".";
+}
+
 
 static vtable(Validation_Failure) Validation_Failure_vt;
@@ -49,4 +57,7 @@
 	free( failed_value );
 }
+
+void msg( Validation_Failure * ex ) {
+	serr | "Config entry " | ex->failed_key | " could not be validated. It has value " | ex->failed_value | ".";
 }
 
Index: libcfa/src/parseconfig.hfa
===================================================================
--- libcfa/src/parseconfig.hfa	(revision dcf792a65cd7bc8bb2e86c4f7fecd34f0f95b32f)
+++ libcfa/src/parseconfig.hfa	(revision a75cd3d81ac5ed6b6bf232799629c266ddfb3db5)
@@ -62,5 +62,5 @@
 };
 
-void ?{}( Missing_Config_Entries & this );
+void msg( Missing_Config_Entries * ex );
 
 exception Parse_Failure {
@@ -69,5 +69,5 @@
 };
 
-void ?{}( Parse_Failure & this );
+void msg( Parse_Failure * ex );
 
 exception Validation_Failure {
@@ -76,5 +76,5 @@
 };
 
-void ?{}( Validation_Failure & this );
+void msg( Validation_Failure * ex );
 
 
