Boon লাইব্রেরি JSON পার্সিং, ডেটা প্রক্রিয়াকরণ এবং অন্যান্য কাজের জন্য দ্রুত এবং কার্যকরী সমাধান প্রদান করে। তবে, অন্যান্য Java লাইব্রেরির মতো, Boon-ও exception handling এবং error reporting এর জন্য কিছু প্রক্রিয়া সরবরাহ করে। এটির মাধ্যমে আপনি যেকোনো ধরনের runtime exception এবং error গুলি দক্ষতার সাথে পরিচালনা করতে পারেন।
এখানে আমরা Boon এর exception handling এবং error reporting পদ্ধতি সম্পর্কে আলোচনা করব।
Boon এর Exception Handling
Boon এর exception handling মূলত try-catch ব্লক ব্যবহার করে পরিচালিত হয়। Boon বিভিন্ন ধরনের exceptions তৈরি করে যা JSON পার্সিং বা ডেটা প্রক্রিয়াকরণের সময় উঠতে পারে। এই exceptions গুলি আপনি BoonException, JsonParseException, বা NullPointerException এর মতো কিছু সাধারণ exception হিসেবে ধরতে পারেন।
উদাহরণ: Boon Exception Handling
import io.boon.Boon;
import io.boon.json.JsonParseException;
public class BoonExceptionHandling {
public static void main(String[] args) {
String json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
try {
// Boon থেকে JSON পার্স করা
Person person = Boon.fromJson(json, Person.class);
// যদি JSON এর মধ্যে কোনো ভুল থাকে, তাহলে এটি exception ছুঁড়ে ফেলবে
System.out.println("Name: " + person.getName());
} catch (JsonParseException e) {
// JSON পার্সিং ত্রুটি
System.out.println("Error parsing JSON: " + e.getMessage());
} catch (Exception e) {
// অন্য যেকোনো exception
System.out.println("An error occurred: " + e.getMessage());
}
}
static class Person {
private String name;
private int age;
private String city;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getCity() {
return city;
}
}
}
এখানে, try-catch ব্লক ব্যবহার করা হয়েছে যেটি JSON পার্সিং এর সময় যদি কোনো ত্রুটি (exception) ঘটে, সেটি সঠিকভাবে ধরা যাবে এবং এর message আউটপুট হিসেবে প্রিন্ট করা হবে। যদি Boon এর parsing লাইব্রেরির সাথে কোনো সমস্যা হয়, তাহলে এটি JsonParseException ছুঁড়ে ফেলবে।
Boon এর Error Reporting
Boon-এ ত্রুটি রিপোর্টিং সাধারণত exception গুলি ট্র্যাক করে এবং সেগুলির সম্পর্কে বিস্তারিত তথ্য প্রদান করে। বিশেষত, যখন JSON ডেটা ভুলভাবে ফরম্যাট করা হয়, তখন Boon একটি JsonParseException বা BoonException ছুঁড়ে ফেলে এবং ত্রুটির স্পষ্ট বার্তা প্রদান করে। এই ত্রুটির বার্তা ত্রুটির কারণ, ত্রুটি ঘটানোর স্থান, এবং কখন তা ঘটেছে, এইসব বিস্তারিত প্রদান করে।
উদাহরণ: Error Reporting
import io.boon.Boon;
import io.boon.json.JsonParseException;
public class BoonErrorReporting {
public static void main(String[] args) {
String invalidJson = "{\"name\": \"John\", \"age\":}"; // ভুল JSON ফরম্যাট
try {
// ভুল JSON পার্স করা
Boon.fromJson(invalidJson, Person.class);
} catch (JsonParseException e) {
// JSON পার্সিং ত্রুটি
System.out.println("JSON Parsing Error: " + e.getMessage());
e.printStackTrace(); // ত্রুটির স্ট্যাক ট্রেস
} catch (Exception e) {
// অন্য যেকোনো exception
System.out.println("Unexpected Error: " + e.getMessage());
}
}
static class Person {
private String name;
private int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
}
এখানে, ভুলভাবে ফরম্যাট করা JSON (যেখানে age এর মান নেই) পাঠানো হয়েছে। Boon এর JsonParseException ত্রুটি এটি সঠিকভাবে ধরবে এবং ত্রুটির বিস্তারিত বার্তা এবং স্ট্যাক ট্রেস আউটপুট করবে। এটি ডেভেলপারকে ত্রুটি সম্পর্কে পরিষ্কার ধারণা দেয়, যার মাধ্যমে সমস্যা চিহ্নিত করা এবং সংশোধন করা সহজ হয়।
আউটপুট:
JSON Parsing Error: Unexpected character ('}' (code 125)): was expecting a value
com.boon.json.JsonParseException: Unexpected character ('}' (code 125)): was expecting a value
at com.boon.json.JsonParser.parse(JsonParser.java:476)
at com.boon.json.JsonParser.parse(JsonParser.java:334)
at com.boon.json.JsonParser.parse(JsonParser.java:263)
...
এখানে, ত্রুটির বার্তা এবং স্ট্যাক ট্রেস প্রদর্শিত হচ্ছে, যা ডেভেলপারকে ত্রুটির উৎস চিহ্নিত করতে সহায়ক।
সারাংশ
Boon লাইব্রেরি exception handling এবং error reporting-এ বেশ কার্যকর। try-catch ব্লক ব্যবহার করে আপনি JSON পার্সিং বা ডেটা প্রক্রিয়াকরণ চলাকালীন যে কোনো ত্রুটি ধরতে পারেন এবং এর বিস্তারিত বার্তা পেতে পারেন। Boon সাধারণত JsonParseException অথবা BoonException ছুঁড়ে ফেলে, যা ত্রুটির উৎস এবং কারণ সম্পর্কে পরিষ্কার তথ্য প্রদান করে। এই পদ্ধতি ত্রুটি শনাক্তকরণ এবং সমাধান প্রক্রিয়াকে সহজ করে তোলে।