From 9b35c19bea241fece19b78e5b5f4b61c45571c16 Mon Sep 17 00:00:00 2001 From: gnembon Date: Mon, 28 Sep 2020 15:54:56 -0300 Subject: [PATCH] pattern matching errors are reported as coding errors --- src/main/java/carpet/script/value/Value.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/carpet/script/value/Value.java b/src/main/java/carpet/script/value/Value.java index 33876084..91e3e893 100644 --- a/src/main/java/carpet/script/value/Value.java +++ b/src/main/java/carpet/script/value/Value.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; public abstract class Value implements Comparable, Cloneable { @@ -145,7 +146,15 @@ public abstract class Value implements Comparable, Cloneable public Value in(Value value1) { - final Pattern p = Pattern.compile(value1.getString()); + final Pattern p; + try + { + p = Pattern.compile(value1.getString()); + } + catch (PatternSyntaxException pse) + { + throw new InternalExpressionException("Incorrect matching pattern: "+pse.getMessage()); + } final Matcher m = p.matcher(this.getString()); if (!m.find()) return Value.NULL; int gc = m.groupCount();