Index: trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 3302)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 3303)
@@ -164,7 +164,15 @@
                 try {
                     this.keyPattern = Pattern.compile(key, searchFlags);
+                } catch (PatternSyntaxException e) {
+                    throw new ParseError(tr(rxErrorMsg, e.getPattern(), e.getIndex(), e.getMessage()));
+                } catch (Exception e) {
+                    throw new ParseError(tr(rxErrorMsg, key, tr("<unknown>"), e.getMessage()));
+                }
+                try {
                     this.valuePattern = Pattern.compile(value, searchFlags);
                 } catch (PatternSyntaxException e) {
                     throw new ParseError(tr(rxErrorMsg, e.getPattern(), e.getIndex(), e.getMessage()));
+                } catch (Exception e) {
+                    throw new ParseError(tr(rxErrorMsg, value, tr("<unknown>"), e.getMessage()));
                 }
                 this.key = key;
@@ -369,4 +377,6 @@
                 } catch (PatternSyntaxException e) {
                     throw new ParseError(tr(rxErrorMsg, e.getPattern(), e.getIndex(), e.getMessage()));
+                } catch (Exception e) {
+                    throw new ParseError(tr(rxErrorMsg, s, tr("<unknown>"), e.getMessage()));
                 }
                 this.search = s;
