diff --git a/helpers/ExerciceHelper.ts b/helpers/ExerciceHelper.ts
index a51f1134709855301237f1e10610135345cc04a1..c6ff93b4ebaef25f03892ee78ac8ffbfc0d49dc9 100644
--- a/helpers/ExerciceHelper.ts
+++ b/helpers/ExerciceHelper.ts
@@ -6,7 +6,7 @@ import JSON5                               from 'json5';
 
 class ExerciceHelper {
     validateResultFile(resultsFilePath: string): {
-        results: ExerciceResultsFile, isValid: boolean, errors: ErrorObject<string, Record<string, any>, unknown>[] | null | undefined
+        results: ExerciceResultsFile | undefined, isValid: boolean, errors: Array<ErrorObject<string, Record<string, any>, unknown> | string> | null | undefined
     } {
         const ajv = new Ajv();
 
@@ -34,14 +34,22 @@ class ExerciceHelper {
 
         const validator = ajv.compile(schema);
 
-        const results = JSON5.parse(fs.readFileSync(resultsFilePath, 'utf8'));
-        const isValid = validator(results);
-
-        return {
-            results: isValid ? results as ExerciceResultsFile : results as any,
-            isValid: isValid,
-            errors : validator.errors
-        };
+        try {
+            const results = JSON5.parse(fs.readFileSync(resultsFilePath, 'utf8'));
+            const isValid = validator(results);
+
+            return {
+                results: isValid ? results as ExerciceResultsFile : results as any,
+                isValid: isValid,
+                errors : validator.errors
+            };
+        } catch ( error ) {
+            return {
+                results: undefined,
+                isValid: false,
+                errors : [ `JSON5 invalid : ${ JSON.stringify(error) }` ]
+            };
+        }
     }
 }