Class RegexUtil.CheckedPatternSyntaxException
java.lang.Object
java.lang.Throwable
java.lang.Exception
org.checkerframework.checker.regex.util.RegexUtil.CheckedPatternSyntaxException
- All Implemented Interfaces:
 Serializable
- Enclosing class:
 - RegexUtil
 
A checked version of 
PatternSyntaxException.
 This exception is useful when an illegal regex is detected but the contextual information to report a helpful error message is not available at the current depth in the call stack. By using a checked PatternSyntaxException the error must be handled up the call stack where a better error message can be reported.
Typical usage is:
 void myMethod(...) throws CheckedPatternSyntaxException {
   ...
   if (! isRegex(myString)) {
     throw new CheckedPatternSyntaxException(...);
   }
   ... Pattern.compile(myString) ...
 
 Simply calling Pattern.compile would have a similar effect, in that 
 PatternSyntaxException would be thrown at run time if myString is not a regular
 expression. There are two problems with such an approach. First, a client of myMethod
 might forget to handle the exception, since PatternSyntaxException is not checked.
 Also, the Regex Checker would issue a warning about the call to Pattern.compile that
 might throw an exception. The above usage pattern avoids both problems.- See Also:
 
- 
Constructor Summary
ConstructorsConstructorDescriptionCheckedPatternSyntaxException(String desc, String regex, @org.checkerframework.checker.index.qual.GTENegativeOne int index) Constructs a new CheckedPatternSyntaxException.Constructs a new CheckedPatternSyntaxException equivalent to the givenPatternSyntaxException. - 
Method Summary
Modifier and TypeMethodDescriptionRetrieves the description of the error.intgetIndex()Retrieves the error index.Returns a multi-line string containing the description of the syntax error and its index, the erroneous regular-expression pattern, and a visual indication of the error index within the pattern.Retrieves the erroneous regular-expression pattern.Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString 
- 
Constructor Details
- 
CheckedPatternSyntaxException
Constructs a new CheckedPatternSyntaxException equivalent to the givenPatternSyntaxException.Consider calling this constructor with the result of
RegexUtil.regexError(java.lang.String).- Parameters:
 pse- the PatternSyntaxException to be wrapped
 - 
CheckedPatternSyntaxException
public CheckedPatternSyntaxException(String desc, String regex, @org.checkerframework.checker.index.qual.GTENegativeOne int index) Constructs a new CheckedPatternSyntaxException.- Parameters:
 desc- a description of the errorregex- the erroneous patternindex- the approximate index in the pattern of the error, or-1if the index is not known
 
 - 
 - 
Method Details
- 
getDescription
Retrieves the description of the error.- Returns:
 - the description of the error
 
 - 
getIndex
public int getIndex()Retrieves the error index.- Returns:
 - the approximate index in the pattern of the error, or 
-1if the index is not known 
 - 
getMessage
Returns a multi-line string containing the description of the syntax error and its index, the erroneous regular-expression pattern, and a visual indication of the error index within the pattern.- Overrides:
 getMessagein classThrowable- Returns:
 - the full detail message
 
 - 
getPattern
Retrieves the erroneous regular-expression pattern.- Returns:
 - the erroneous pattern
 
 
 -