প্যাটার্ন সিনট্যাক্স ব্যতিক্রম ক্লাস রেজেক্স স্ট্রিং-এ সিনট্যাক্স ত্রুটির ক্ষেত্রে নিক্ষিপ্ত একটি অচেক ব্যতিক্রম উপস্থাপন করে। এই ক্লাসে তিনটি প্রধান পদ্ধতি রয়েছে যথা −
-
getDescription() - ত্রুটির বর্ণনা প্রদান করে।
-
getIndex() - ত্রুটি সূচী প্রদান করে।
-
getPattern() − ত্রুটি সহ রেগুলার এক্সপ্রেশন প্যাটার্ন প্রদান করে।
-
getMessage() − ত্রুটি, সূচক, ত্রুটি সহ রেগুলার এক্সপ্রেশন প্যাটার্ন, প্যাটার্নে ত্রুটির ইঙ্গিত সহ সম্পূর্ণ বার্তা ফেরত দেয়৷
উদাহরণ
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class PatternSyntaxExceptionExample {
public static void main(String args[]) {
//Reading String from user
System.out.println("Enter a String");
Scanner sc = new Scanner(System.in);String input = sc.nextLine();
//Regular expression to match first digits of a word
String regex = "["; //\\s+
//Compiling the regular expression
try {
Pattern pattern = Pattern.compile(regex);
//Retrieving the matcher object
Matcher matcher = pattern.matcher(input);
//Replacing all space characters with single space
String result = matcher.replaceAll(" ");
System.out.print("Text after removing unwanted spaces: \n"+result);
}catch(PatternSyntaxException ex){
System.out.println("Description: "+ex.getDescription());
System.out.println("Index: "+ex.getIndex());
System.out.println("Message: "+ex.getMessage());
System.out.println("Pattern: "+ex.getPattern());
}
}
} আউটপুট
Enter a String this is a [sample text [ Description: Unclosed character class Index: 0 Message: Unclosed character class near index 0 [ ^ Pattern: [