Index: trunk/t3d/src/org/etsi/t3d/T3D.java
===================================================================
--- trunk/t3d/src/org/etsi/t3d/T3D.java	(revision 10)
+++ trunk/t3d/src/org/etsi/t3d/T3D.java	(revision 32)
@@ -192,4 +192,11 @@
 						.get(i));
 				if (analyzer.getExceptions().size() > 0) {
+					String exceptionMessage = "Error while parsing file "
+						+ analyzer.getFilename(); 
+					for (int i1 = 0; i1 < analyzer.getExceptions().size(); i1++) {
+						String className = analyzer.getExceptions().get(i1).getStackTrace()[0].getClassName();
+						String methodName = analyzer.getExceptions().get(i1).getStackTrace()[0].getMethodName();
+						exceptionMessage+="\n  "+className.substring(className.lastIndexOf(".")+1)+" : "+methodName;
+					}
 
 					// TODO: in eclipse the error stream seems to be delayed
@@ -198,12 +205,8 @@
 					// -> The terminal seems to handle this properly in contrast
 					if (T3D.activeProfile.isSettingAbortOnError()) {
-						throw new TTCN3ParserException(
-								"Error while parsing file "
-										+ analyzer.getFilename());
+						throw new TTCN3ParserException(exceptionMessage);
 					} else {
 						try {
-							throw new TTCN3ParserException(
-									"Error while parsing file "
-											+ analyzer.getFilename());
+							throw new TTCN3ParserException(exceptionMessage);
 						} catch (TTCN3ParserException e) {
 							System.err.println(e.getLocalizedMessage());
@@ -708,12 +711,12 @@
 				.getInstance();
 		analyzerFactory.setStandaloneUsage(true);
+		System.out.print("  Parsing file: " + filename); 
+		
 		String code = MiscTools.readFile(filename);
-
 		int loc = MiscTools.getLOC(filename);
 		linesOfCodeMap.put(filename, loc);
 		totalLoc += loc;
 
-		System.out.println("  Parsing file: " + filename + " (LOC: "
-				+ linesOfCodeMap.get(filename) + ") ...");
+		System.out.println(" (LOC: "		+ linesOfCodeMap.get(filename) + ") ...");
 		long startTime = System.currentTimeMillis();
 
@@ -752,6 +755,24 @@
 
 	public static void main(String[] args) {
-		T3D tool = new T3D();
-		tool.run(args);
+		try{
+			T3D tool = new T3D();
+			tool.run(args);
+		} catch (Exception e) {
+			if (getLogLevel()==LogLevel.DEBUG){
+				e.printStackTrace();
+				
+			} else {
+				String stacktrace = "";
+				for (StackTraceElement ste : e.getStackTrace()){
+					stacktrace+="\n    "+ste.toString();
+				}
+				System.err.println("ERROR: A problem occurred while running T3Q" +
+						"\n  Problem type: " + 
+						e +
+						"\n  Stacktrace:" +
+						stacktrace + 
+						"\n  Run T3Q with --verbosity=DEBUG for a more detailed report" );
+			}
+		}
 	}
 	//TODO: DUPLICATE
