Index: /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.cs
===================================================================
--- /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.cs	(revision 17249)
+++ /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.cs	(revision 17250)
@@ -21,4 +21,5 @@
 using System;
 using System.Collections.Generic;
+using System.Drawing;
 using HeuristicLab.Collections;
 using HeuristicLab.Core;
@@ -75,8 +76,16 @@
       if (constraintsInput.Text != null) {
         intervalConstraints.Clear();
-        var parsedConstraints = ParseConstraints(constraintsInput.Text);
-        Content.Constraints = parsedConstraints;
-        Content.Input = constraintsInput.Text;
-        errorOutput.Text = "";
+        try {
+          var parsedConstraints = ParseConstraints(constraintsInput.Text);
+          Content.Constraints = parsedConstraints;
+          Content.Input = constraintsInput.Text;
+          errorOutput.ForeColor = Color.DarkGreen;
+          errorOutput.Text = "Constraints successfully parsed.";
+          //Catch the exception from the constraints parser and show it in the error dialog
+        } catch(ArgumentException ex) {
+          Content.Constraints = new List<IntervalConstraint>();
+          errorOutput.ForeColor = Color.DarkRed;
+          errorOutput.Text = ex.Message.Replace("Parameter name", "@Line");
+        }
       } else {
         errorOutput.Text = "No constraints were found!";
@@ -125,5 +134,6 @@
 
     private void constraintsInput_TextChanged(object sender, EventArgs e) {
-      if (Content.Input != constraintsInput.Text) { 
+      if (Content.Input != constraintsInput.Text) {
+        errorOutput.ForeColor = Color.DarkOrange;
         errorOutput.Text = "Unparsed changes! Press parse button to save changes.";
         Content.Input = constraintsInput.Text;
Index: /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.designer.cs
===================================================================
--- /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.designer.cs	(revision 17249)
+++ /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataConstraintView.designer.cs	(revision 17250)
@@ -120,4 +120,5 @@
       // errorOutput
       // 
+      this.errorOutput.MaximumSize = new Size(350, 0);
       this.errorOutput.AutoSize = true;
       this.errorOutput.ForeColor = Color.DarkRed;
Index: /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalConstraintsParser.cs
===================================================================
--- /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalConstraintsParser.cs	(revision 17249)
+++ /branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Interval/IntervalConstraintsParser.cs	(revision 17250)
@@ -47,5 +47,5 @@
           if (match.Success) {
             if (match.Groups.Count != 10) {
-              throw new ArgumentException("The target-constraint is not complete.");
+              throw new ArgumentException("The target-constraint is not complete.", line);
             } else {
               var targetVariable = match.Groups[1].Value.Trim();
@@ -55,5 +55,5 @@
 
               if (targetVariable != target) {
-                throw new ArgumentException($"The target variable {targetVariable}  does not match the provided target {target}.");
+                throw new ArgumentException($"The target variable {targetVariable}  does not match the provided target {target}.", line);
               }
 
@@ -74,5 +74,5 @@
             }
           } else {
-            throw new ArgumentException("The inserted target constraint is not valid.");
+            throw new ArgumentException("The inserted target constraint is not valid.", line);
           }
           //Check for derivation
@@ -83,5 +83,5 @@
           if (match.Success) {
             if (match.Groups.Count != 17) {
-              throw new ArgumentException("The given derivation-constraint is not complete.");
+              throw new ArgumentException("The given derivation-constraint is not complete.", line);
             } else {
               var derivationTarget = match.Groups[3].Value.Trim();
@@ -96,16 +96,16 @@
 
               if (derivationTarget != target) {
-                throw new ArgumentException($"The target variable {derivationTarget}  does not match the provided target {target}.");
+                throw new ArgumentException($"The target variable {derivationTarget}  does not match the provided target {target}.", line);
               }
 
               if (variables.All(v => v != derivationVariable)) {
-                throw new ArgumentException($"The given variable {derivationVariable} does not exist in the dataset.");
+                throw new ArgumentException($"The given variable {derivationVariable} does not exist in the dataset.", line);
               }
 
               if (match.Groups[2].Value.Trim() != "" || match.Groups[11].Value.Trim() != "") {
                 if (match.Groups[2].Value.Trim() == "" || match.Groups[11].Value.Trim() == "")
-                  throw new ArgumentException("Number of derivation has to be written on both sides.");
+                  throw new ArgumentException("Number of derivation has to be written on both sides.", line);
                 if (match.Groups[2].Value.Trim() != match.Groups[11].Value.Trim())
-                  throw new ArgumentException("Derivation number is not equal on both sides.");
+                  throw new ArgumentException("Derivation number is not equal on both sides.", line);
               }
 
@@ -126,5 +126,5 @@
             }
           } else {
-            throw new ArgumentException("The inserted derivation constraint is not valid.");
+            throw new ArgumentException("The inserted derivation constraint is not valid.", line);
           }
           //Check for comment
@@ -133,5 +133,5 @@
           continue;
         } else {
-          throw new ArgumentException("Error at your constraints definition constraints have to start with (Target: | d | \u2202 | #)");
+          throw new ArgumentException("Error at your constraints definition constraints have to start with (Target: | d | \u2202 | #)", line);
         }
       }
