diff --git a/src/fr/inrialpes/exmo/align/util/GroupOutput.java b/src/fr/inrialpes/exmo/align/util/GroupOutput.java
index a7f1e845e648822c9d84acaffac436ba6db63f92..7c499dafbc902f3086a9b226e6bbdddf742dc883 100644
--- a/src/fr/inrialpes/exmo/align/util/GroupOutput.java
+++ b/src/fr/inrialpes/exmo/align/util/GroupOutput.java
@@ -30,6 +30,7 @@ package fr.inrialpes.exmo.align.util;
 //import org.semanticweb.owl.model.OWLOntology;
 
 import org.semanticweb.owl.align.Alignment;
+import org.semanticweb.owl.align.AlignmentException;
 import org.semanticweb.owl.align.Parameters;
 import org.semanticweb.owl.align.Evaluator;
 
@@ -43,6 +44,7 @@ import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.io.BufferedWriter;
 import java.io.OutputStreamWriter;
+import java.io.IOException;
 import java.lang.Integer;
 import java.util.Hashtable;
 import java.util.Vector;
@@ -50,6 +52,7 @@ import java.util.Enumeration;
 import java.util.StringTokenizer;
 
 import org.xml.sax.SAXException;
+import javax.xml.parsers.ParserConfigurationException;
 
 import gnu.getopt.LongOpt;
 import gnu.getopt.Getopt;
@@ -247,8 +250,10 @@ public class GroupOutput {
 	for ( int i=0; i<tests.length; i++ ){//size() or length
 	    if ( debug > 1 ) System.err.println("    tests: "+tests[i]);
 	    String prefix = dir.toURI().toString()+"/"+tests[i]+"/";
-	    PRecEvaluator evaluator = (PRecEvaluator)eval( prefix+"refalign.rdf", prefix+algo+".rdf");
-	    result = result + evaluator.getFmeasure();
+	    try {
+		PRecEvaluator evaluator = (PRecEvaluator)eval( prefix+"refalign.rdf", prefix+algo+".rdf");
+		result = result + evaluator.getFmeasure();
+	    } catch (AlignmentException aex ) { aex.printStackTrace(); }
 	}
 	// Unload the ontologies.
 	loaded.clear();
@@ -261,10 +266,10 @@ public class GroupOutput {
 	return (double)result/(double)tests.length;
     }
 
-    public Evaluator eval( String alignName1, String alignName2 ) {
+    public Evaluator eval( String alignName1, String alignName2 ) throws AlignmentException {
 	Evaluator eval = null;
+	int nextdebug;
 	try {
-	    int nextdebug;
 	    if ( debug < 3 ) nextdebug = 0;
 	    else nextdebug = debug - 3;
 	    // Load alignments
@@ -279,13 +284,15 @@ public class GroupOutput {
 	    // Compare
 	    params.setParameter( "debug", new Integer( nextdebug ) );
 	    eval.eval( params, loaded ) ;
-	} catch (Exception ex) { 
-	    // The returned value must be 0
-	    eval = new PRecEvaluator( (Alignment)null, (Alignment)null );
-	    ((PRecEvaluator)eval).init();
-	    System.err.println(ex); 
+	    return eval;
+	} catch (ParserConfigurationException pce) {
+	    throw new AlignmentException( "Cannot eval ", pce );
+	} catch (SAXException se) {
+	    throw new AlignmentException( "Cannot eval ", se );
+	} catch (IOException ioe) {
+	    throw new AlignmentException( "Cannot eval ", ioe );
 	}
-	return eval;
+
     }
 
     public void printPGFTeX( String algo, double[] cells ){