কম্পিউটার

জাভাতে একটি NullPointerException কিভাবে সমাধান করবেন?


একটি NullPointerException আমাদের অ্যাপ্লিকেশন কোড, অন্যান্য রেফারেন্সযুক্ত API বা মিডলওয়্যার নিম্নলিখিত শর্তগুলির সম্মুখীন হলে JVM দ্বারা একটি রানটাইম ব্যতিক্রম হয়

  • একটি নাল অবজেক্টের ইনস্ট্যান্স পদ্ধতি চালু করার চেষ্টা করা হচ্ছে।
  • একটি নাল অবজেক্টের একটি নির্দিষ্ট ক্ষেত্র অ্যাক্সেস বা পরিবর্তন করার চেষ্টা করা।
  • একটি নাল অবজেক্টের দৈর্ঘ্য অ্যারে হিসাবে পাওয়ার চেষ্টা করা হচ্ছে।

NullPointerException সমাধানের পদক্ষেপ:

  • java.lang.NullPointerException পর্যালোচনা করুন স্ট্যাক ট্রেস এবং ব্যতিক্রম কোথায় ট্রিগার হয়েছে তা নির্ধারণ করুন (অ্যাপ্লিকেশন কোড, তৃতীয় পক্ষের API, মিডলওয়্যার সফ্টওয়্যার এবং লাইন এক্সট্র্যাক্ট)।
  • অ্যাপ্লিকেশন কোডে সমস্যা হলে একটি কোড ওয়াক-থ্রু প্রয়োজন হবে। যদি সমস্যাটি তৃতীয় পক্ষের API বা মিডলওয়্যার থেকে পাওয়া যায়, তাহলে প্রথমে রেফারেন্স করা কোডটি পর্যালোচনা করতে হবে এবং এটি পরোক্ষভাবে সমস্যার উৎস হতে পারে কিনা তা নির্ধারণ করতে হবে, উদাহরণস্বরূপ, তৃতীয় পক্ষের API পদ্ধতিতে একটি শূন্য মান পাস করা ইত্যাদি।<
  • অ্যাপ্লিকেশন কোডের মধ্যে যদি সমস্যা পাওয়া যায়, তাহলে কোন অবজেক্ট ইন্সট্যান্সটি শূন্য এবং সমস্যা সৃষ্টি করছে তা নির্ধারণ করার চেষ্টা করুন। সঠিক নাল চেক যাচাইকরণ এবং সঠিক লগিং যোগ করার জন্য আমাদের কোডটি পরিবর্তন করতে হবে যাতে আমরা নাল মানের উৎসও বুঝতে পারি।

উদাহরণ

public class NPEDemo {
   private String field1 = null;
   private String field2 = null;
   public String getField1() {
      return field1;
   }
   private void setField1(String field1) {
      this.field1 = field1;
   }
   public String getField2() {
      return field2;
   }
   private void setField2(String field2) {
      this.field2 = field2;
   }
   public static void main(String[] args) {
      try {
         NPEDemo npe = new NPEDemo();
         npe.setField1("field1 value");
         npe = null;
         npe.setField2("field2 Value");
      } catch (Throwable e) {
         System.out.println("Java Error is: "+e );
         e.printStackTrace();
      }
   }
}

আউটপুট

Java Error is: java.lang.NullPointerException
java.lang.NullPointerException
at NPEDemo.main(NPEDemo.java:24)

  1. কিভাবে জাভাতে একটি অসমর্থিত অপারেশন এক্সেপশন তৈরি করবেন?

  2. কীভাবে জাভাতে একটি ব্যতিক্রম পুনরুদ্ধার করবেন?

  3. কিভাবে “Error 500:Java.Lang.NullPointerException” ঠিক করবেন

  4. কিভাবে জাভাতে JSON পার্স করবেন